hover特效

hover特效

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1"/>
    <title>Title</title>
    <style>

        .set_4_button1 {
            position: relative;
            text-align: center;
            padding: 0 25px;
            line-height: 450px;
            overflow: hidden;
            z-index: 0;
            color: #fff;
            transition: all .1s;
            background: #FCA700;
        }

        /* hover 值后出现的效果,一开始没有宽高,位于父元素中间 */
        .anim {
            position: absolute;
            overflow: hidden;
            top: 50%;
            left: 50%;
            z-index: -1;
            transform: translate(-50%, -50%);
            border-radius: 50%;
        }

        .anim::before {
            position: relative;
            display: block;
            content: ‘‘;
            /*margin-top: 100%;*/
            padding-top: 100%;
            /* 当hover时,父元素的width会增大,而子元素margin/padding为百分比时会参照父元素宽度,
            这时,margin或padding增加都会使得父元素高度增加,如果是padding的话,伪元素before会有高度。 */
        }

        /* 伪元素 after 是用于背景色的过渡,其实可以不用 after,背景色、宽高的动画都归到父元素即可*/
        .anim::after {
            position: absolute;
            content: ‘‘;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }

        /* 分开设 start */
        .hoverable:hover > .anim {
            animation: anim-out 3s infinite;

        }
        .hoverable:hover > .anim:after {
            animation: anim-out-pseudo 3s infinite;
        }

        @keyframes anim-out {
            0% { width: 0%;}
            100% { width: 100%;}
        }

        @keyframes anim-out-pseudo {
            0% { background: rgba(0,0,0,.25); }
            100% { background: transparent; }
        }
        /* 分开设 end */

        /* 合并设 start */
        .hoverable:hover > .anim {
            animation: merge 3s infinite;}

        @keyframes merge {
            0% {
                width: 0;
                background: rgba(0,0,0,.25);
            }
            100% {
                width: 100%;
                background: transparent;
            }
        }
        /* 合并设 end */

    </style>
</head>
<body>
    <div class="set_4_button1 raised hoverable">
        <div class="anim"></div>
        <span>Sample Button</span>
    </div>
</body>
</html>

hover特效

hover特效

上一篇:ART虚拟机 _ Java对象和类的内存结构,java中级面试题库weixin


下一篇:element-ui怎么调节表格中某一列的样式