CSS3动画实现高亮光弧效果

经常看到图片有一道高亮光弧闪过很炫的效果,其原理很简单可以用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" alt="CSS3动画实现高亮光弧效果">

<div class="rolled"></div>

</div>

</body>

</html>

查看效果演示:http://tangjiusheng.com/css3/page01.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" alt="CSS3动画实现高亮光弧效果"></a>

</div>

</body>

</html>

除注明外的文章,均为来源:汤久生博客,转载请保留本文地址!

原文链接:http://tangjiusheng.com/css3/125.html

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: