CSS3动画实现高亮光弧效果

 分类:css3知识时间:2017-05-24点击:

  经常看到图片有一道高亮光弧闪过很炫的效果,其原理很简单可以用css3动画就可以做出这样的效果,用css3动画控制position:absolute的left值,从左向右闪过,这个具体的请看以下代码哈。效果截图如下:

CSS3动画实现高亮光弧效果

鼠标houver在盒子box上时动画会停止,代码如下:

<!Doctype html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk2312"/>
    <title>CSS3动画实现高亮光弧效果</title>
    <style type="text/css">
        body{margin:0;padding:0;}
        .box{width:1000px;margin:200px auto;height:500px;position:relative;text-align:center;}
        .box:hover .rolled{
            -webkit-animation-play-state:paused;
            -moz-animation-play-state:paused;
            -o-animation-play-state:paused;
            -ms-animation-play-state:paused;
        }
        .rolled{
            position:absolute;
            top: 0;
            width:80px;
            height:500px;
            background: -moz-linear-gradient(left,rgba(255,255,255,0)0,rgba(255,255,255,.2)50%,rgba(255,255,255,0)100%);
            background: -webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0)),color-stop(50%,rgba(255,255,255,.2)),color-stop(100%,rgba(255,255,255,0)));
            background: -webkit-linear-gradient(left,rgba(255,255,255,0)0,rgba(255,255,255,.2)50%,rgba(255,255,255,0)100%);
            background: -o-linear-gradient(left,rgba(255,255,255,0)0,rgba(255,255,255,.2)50%,rgba(255,255,255,0)100%);
            -webkit-transform: skewX(-25deg);
            -moz-transform: skewX(-25deg);
            -webkit-animation:rolled 2.5s .2s ease both infinite;
            -moz-animation:rolled 2.5s .2s ease both infinite;
            -o-animation:rolled 2.5s .2s ease both infinite;
            -ms-animation:rolled 2.5s .2s ease both infinite;
            overflow: hidden;
        }
        @-webkit-keyframes rolled{
            0%{left:-150px ;}
            100%{left:920px;}
        }
        @-moz-keyframes rolled{
            0%{left:-150px ;}
            100%{left:920px;}
        }
        @-o-keyframes rolled{
            0%{left:-150px ;}
            100%{left:920px;}
        }
        @-ms-keyframes rolled{
            0%{left:-150px ;}
            100%{left:920px;}
        }
        @keyframes rolled{
            0%{left:-150px ;}
            100%{left:920px;}
        }
    </style>
</head>
<body>
<div class="box">
    <img src="http://tangjiusheng.com/d/file/css3/2017-05-24/f2ff69d3c4e94e4a65c9f4ab203d4811.jpg">
    <div class="rolled"></div>
</div>
</body>
</html>

点击查看效果演示

另外一种效果,鼠标houver时效果才出现(触发),代码如下:

<!Doctype html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk2312"/>
    <title>CSS3实现高亮光弧效果</title>
    <style type="text/css">
        body{
            margin: 0;padding: 0;
        }
        .box{width:1000px;margin:200px auto;height:500px;position:relative;text-align:center;}
        a.floor:before{
            display: block;
            height: 500px;
        }
        a.floor:hover:before{
            -webkit-transition: left 1.5s;
            -moz-transition: left 1.5s;
            transition: left 1.5s;
            left: 920px;
        }
        a.floor:before{
            content: "";
            position: absolute;
            width: 80px;
            height:500px;
            top: 0;
            left: -150px;
            overflow: hidden;
            background: -moz-linear-gradient(left,rgba(255,255,255,0)0,rgba(255,255,255,.2)50%,rgba(255,255,255,0)100%);
            background: -webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0)),color-stop(50%,rgba(255,255,255,.2)),color-stop(100%,rgba(255,255,255,0)));
            background: -webkit-linear-gradient(left,rgba(255,255,255,0)0,rgba(255,255,255,.2)50%,rgba(255,255,255,0)100%);
            background: -o-linear-gradient(left,rgba(255,255,255,0)0,rgba(255,255,255,.2)50%,rgba(255,255,255,0)100%);
            -webkit-transform: skewX(-25deg);
            -moz-transform: skewX(-25deg);
        }
    </style>
</head>
<body>
<div class="box">
     <a class="floor" href="#"><img src="http://tangjiusheng.com/d/file/css3/2017-05-24/f2ff69d3c4e94e4a65c9f4ab203d4811.jpg"></a>
</div>
</body>
</html>
除注明外的文章,均为来源:(QQ:1917843637),转载请保留本文地址!
原文地址:
  • 一起学习,请加入web前端开发交流群:296358221
  • 立即加入