使用CSS3线性渐变实现图片闪光划过效果

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

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

HTML 设计成这样:

<p class=”overimg”>

<a><img src=”http://www.nowamagic.net/librarys/images/201402/2014_02_15_01.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 层使用 cursor:pointer,如果不设置这个的话,需要等透明层动画之后才能看得到 pointer 指针。

打开 F12 调试来看会更加清楚。

未经允许不得转载:爱前端网 » 使用CSS3线性渐变实现图片闪光划过效果

赞 (0) 打赏


觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏