CSS3動畫實現高亮光弧效果

CSS WebKit HTML 500px 湯久生前端 2017-06-07

經常看到圖片有一道高亮光弧閃過很炫的效果,其原理很簡單可以用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>

查看效果演示: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"></a>

</div>

</body>

</html>

除註明外的文章,均為來源:湯久生博客,轉載請保留本文地址!

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

相關推薦

推薦中...