CSS3动画实现高亮光弧效果
经常看到图片有一道高亮光弧闪过很炫的效果,其原理很简单可以用css3动画就可以做出这样的效果,用css3动画控制position:absolute的left值,从左向右闪过,这个具体的请看以下代码哈。效果截图如下:
鼠标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.cn/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.cn/d/file/css3/2017-05-24/f2ff69d3c4e94e4a65c9f4ab203d4811.jpg"></a> </div> </body> </html>
除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址:https://tangjiusheng.cn/css3/125.html
原文地址:https://tangjiusheng.cn/css3/125.html