IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    Forece发表于 2015-09-13 14:55:06
    love 0

    以前图片闪光划过都是用 Fireworks 做出GIF动态图片挂在网页上,没想到现在CSS已经强大到直接用代码显示了。在网上看到这么一个图片效果,当鼠标移上去的时候,会有一道闪光在图片上划过,效果挺酷炫的。于是把这个效果再实现一下。

    HTML代码:

    1
    2
    3
    4
    <p class="overimg">
    <a><img src="http://img.caibaojian.com/uploads/2014/02/080913ctV.jpg" alt="使用CSS3线性渐变实现图片闪光划过效果"></a>
    <i class="light"></i>
    </p>

    CSS代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    .overimg {
    position: relative;
    display: block; /* overflow: hidden;
    */

    -webkit-box-shadow: 0 0 10px #FFF;
    box-shadow: 0 0 10px #FFF; /* overflow: hidden;
    */
    }

    .light {
    cursor: pointer;
    position: absolute;
    left: -180px;
    top: 0;
    width: 180px;
    height: 90px;

    background-image: -webkit-linear-gradient(0deg,rgba(255,255,255,0),rgba(255,255,255,0.5),rgba(255,255,255,0));
    background-image: -moz-linear-gradient(0deg,rgba(255,255,255,0),rgba(255,255,255,0.5),rgba(255,255,255,0));
    background-image: -o-linear-gradient(0deg,rgba(255,255,255,0),rgba(255,255,255,0.5),rgba(255,255,255,0));
    background-image: -ms-linear-gradient(0deg,rgba(255,255,255,0),rgba(255,255,255,0.5),rgba(255,255,255,0));
    background-image: linear-gradient(0deg,rgba(255,255,255,0),rgba(255,255,255,0.5),rgba(255,255,255,0));

    -webkit-transform: skewx(-25deg);
    -moz-transform: skewx(-25deg);
    -o-transform: skewx(-25deg);
    -ms-transform: skewx(-25deg);
    transform: skewx(-25deg);
    }

    .overimg:hover .light {
    left: 180px;

    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    }

    演示:http://jsfiddle.net/forece/t1zk7n94/

    大体思想是,设计一个透明层i,skewx在X轴上做了负25度的变形,背景颜色用的是CSS3的线性渐变linear-gradient,然后hover的时候,设置0.5s的动画时间。
    同时在 i 层使用 cursor:pointer,如果不设置这个的话,需要等透明层动画之后才能看得到 pointer 指针。
    打开 F12 调试来看会更加清楚。

    Reference: http://caibaojian.com/css3-linear-gradient-skewx.html



沪ICP备19023445号-2号
友情链接