CSS3制作hover下划线动画
2016-09-28 14:46
183 查看
1、前几天看到Hexo的next主题标题hover效果很炫,自己尝试写了一个,另一个是next的实现,照例先上图
2、实现小黑科技
<div> <a href="javascript:void(0);" class="demo1">自己实现的hover效果</a> </div>
.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主题的官方实现
<div> <a href="javascript:void(0);" class="demo2">Hexo next主题的实现</a> </div>
.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一样的效果。
不管怎样,总算是实现了吧。。。
原文地址:http://www.cnblogs.com/zhangmingze/p/5351983.html
相关文章推荐
- CSS3制作hover下划线动画
- CSS3制作hover下划线动画
- CSS3制作下划线动画
- 用css3制作旋转加载动画的几种方法
- 16 个使用 CSS3 和 jQuery 制作的加载中动画
- 详解用CSS3制作圆形滚动进度条动画效果
- 使用 CSS3 & jQuery 制作漂亮的书签动画
- 用css3制作旋转加载动画的几种方法
- CSS3简单动画效果与使用列表制作菜单
- 【Web】CSS3动画效果制作
- css3动画制作太极图
- 前端制作动画的几种方式(css3,js)
- css3 制作3D动画
- CSS3制作炫酷环形星星发光动画
- css3模仿动画精美菜单制作
- 制作动画平滑过渡效果:《CSS3 Transition》
- 分享9款用HTML5/CSS3制作的动物人物动画
- 如何在Swiper内制作CSS3动画效果
- css3制作淡出淡入动画
- CSS3小模块hover左右交替互换动画