• CSS3制作hover下划线动画


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

      css3

    2、实现小黑科技

    1 <!-- html结构 -->
    2 <div>
    3     <a href="javascript:void(0);" class="demo1">自己实现的hover效果</a>
    4 </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一样的效果。

    不管怎样,总算是实现了吧。。。

    转载请注明:http://www.cnblogs.com/zhangmingze/p/5351983.html

  • 相关阅读:
    C++类的内存结构
    emplace与insert的区别(C++11)
    C/C++宏的奇技淫巧
    编译器对内存的分配
    利用C++实现模块隐藏(R3层断链)
    PCB标准规范
    RTC 总结
    0.96寸OLED显示屏 IIC接口(SSD1306)
    串行通信简介(SPI, IIC, UART)
    人生感悟
  • 原文地址:https://www.cnblogs.com/zhangmingze/p/5351983.html
Copyright © 2020-2023  润新知