首页 > web前端 > css教程 > 使用CSS3制作hover下划线动画方法

使用CSS3制作hover下划线动画方法

高洛峰
发布: 2017-03-28 09:50:28
原创
2650 人浏览过

本文主要介绍了CSS3制作hover下划线动画的方法步骤。具有很好的参考价值。下面跟着小编一起来看下吧

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

使用CSS3制作hover下划线动画方法

2、实现小黑科技

1

2

3

4

 <!-- html结构 -->

 <p>

     <a href="javascript:void(0);" class="demo1">自己实现的hover效果</a>

 </p>

登录后复制

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

/* 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主题的官方实现

1

2

3

4

<!-- html结构 -->

<p>

    <a href="javascript:void(0);" class="demo2">Hexo next主题的实现</a>

</p>

登录后复制

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

/* 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一样的效果。

以上是使用CSS3制作hover下划线动画方法的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板