使用CSS3线性渐变实现图片闪光划过效果(代码实例)

2020-07-23 17:28:04
本篇文章给大家带来的内容是关于使用CSS3线性渐变实现图片闪光划过效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在百度音乐 http://music.baidu.com/ 看到这么一个图片效果,当鼠标移上去的时候,会有一道闪光在图片上划过,效果挺酷炫的。于是把这个效果再实现一下:

微信截图_20181029165041.png

这个 CSS3 的效果怎么实现呢?

HTML 设计成这样:

<p class="overimg">    <a><img src="http://www.php.cn/images/css3.jpg"></a>    <i class="light"></i></p>

CSS 为:

.overimg{    position: relative;    display: block;    /* overflow: hidden; */    box-shadow: 0 0 10px #FFF;}.light{    cursor:pointer;    position: absolute;    left: -180px;    top: 0;    width: 180px;    height: 90px;    background-image: -moz-linear-gradient(0deg,rgba(255,255,255,0),rgba(255,255,255,0.5),rgba(255,255,255,0));    background-image: -webkit-linear-gradient(0deg,rgba(255,255,255,0),rgba(255,255,255,0.5),rgba(255,255,255,0));    transform: skewx(-25deg);    -o-transform: skewx(-25deg);    -moz-transform: skewx(-25deg);    -webkit-transform: skewx(-25deg);  }.overimg:hover .light{    left:180px;    -moz-transition:0.5s;    -o-transition:0.5s;    -webkit-transition:0.5s;    transition:0.5s;}

大体思想是,设计一个透明层i,skewx在X轴上做了负25度的变形,背景颜色用的是CSS3的线性渐变linear-gradient,然后hover伪类的时候,设置0.5s的动画时间。

同时在 i 层使用CSS鼠标样式cursor:pointer,如果不设置这个的话,需要等透明层动画之后才能看得到 pointer 指针。