CSS3制作hover下划线动画


Posted in HTML / CSS onMarch 27, 2017

1、前几天看到Hexo的next主题标题hover效果很炫,自己尝试写了一个,另一个是next的实现,照例先上图

CSS3制作hover下划线动画

2、实现小黑科技

<!-- html结构 -->
 <div>
     <a href="javascript:void(0);" class="demo1">自己实现的hover效果</a>
 </div>
/* css样式 */
        .demo1{
            position: relative;
            text-decoration: none;
            font-size: 20px;
            color: #333;
        }
        .demo1:before{
            content: "";
            position: absolute;
            left: 50%;
            bottom: -2px;
            width: 0;
            height: 2px;
            background: #4285f4;
            transition: all .3s;
        }
        .demo1:hover:before{
            width: 100%;
            left: 0;
            right: 0;
        }

关键在于没有hover的时候定义width为0,这样可以实现宽度从0到100%的变化。

left为50%,目的是为了动画开始的位置是在50%的位置。

3、hexo next主题的官方实现

<!-- html结构 -->
<div>
    <a href="javascript:void(0);" class="demo2">Hexo next主题的实现</a>
</div>
/* css样式 */
        .demo2{
            position: relative;
            text-decoration: none;
            font-size: 20px;
            color: #333;
        }
        .demo2:before{
            content: "";
            position: absolute;
            left: 0;
            bottom: -2px;
            height: 2px;
            width: 100%;
            background: #4285f4;
            transform: scale(0);
            transition: all 0.3s;
        }
        .demo2:hover:before{
            transform: scale(1);
        }

这个实现的关键就是scale(0)到scale(1)的变化。

CSS3的scale transform的原点是中点,所以会从中间的位置开始动画。

4、两者区别

通过动画也看出来,next的动画有透明渐变的效果,和scale的表现形式有关。

第一个实现只是width变化,但是也可以用animation实现和next一样的效果。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3弹性伸缩布局之box布局
Jul 12 HTML / CSS
CSS3 伪类选择器 nth-child()说明
Jul 10 HTML / CSS
CSS3制作ajax loader icon实现思路及代码
Aug 25 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
Dec 29 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
Mar 14 HTML / CSS
HTML5 video播放器全屏(fullScreen)方法实例
Apr 24 HTML / CSS
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
Mar 22 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
Sep 30 HTML / CSS
div或img图片高度随宽度自适应的方法
Feb 06 HTML / CSS
css position fixed 左右双定位的实现代码
Apr 29 HTML / CSS
html2 canvas svg不能识别的解决方案
Jun 03 HTML / CSS
HTML+CSS实现导航条下拉菜单的示例代码
Aug 02 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
Mar 25 #HTML / CSS
利用CSS3实现进度条的两种姿势详解
Mar 21 #HTML / CSS
CSS3实现头像旋转效果
Mar 13 #HTML / CSS
用React加CSS3实现微信拆红包动画效果
Mar 13 #HTML / CSS
css3类选择器之结合元素选择器和多类选择器用法
Mar 09 #HTML / CSS
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
Mar 02 #HTML / CSS
CSS3实现点击放大的动画实例代码
Feb 27 #HTML / CSS
You might like
封装一个PDO数据库操作类代码
2009/09/09 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
Javascript之文件操作
2007/03/07 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
TypeScript入门-接口
2017/03/30 Javascript
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
建筑经济管理专业求职信分享
2014/01/06 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
房产公证委托书范本
2014/09/20 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS
英镑符号 £
2022/02/17 杂记