首先我们要知道本篇文章中css3实现图片光影效果需要用到transition属性和transform属性。
下面我们简单看一下transition属性和transform属性这两个属性。
transition属性是一个简写属性,用于设置四个过渡属性:
transition-property:规定设置过渡效果的 CSS 属性的名称。
transition-duration :规定完成过渡效果需要多少秒或毫秒。
transition-timing-function:规定速度效果的速度曲线。
transition-delay:定义过渡效果何时开始。
transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。
看完了这两个属性后,我们就来直接看css3图片光影实现的代码:
思路:设置一个透明层i,skewx在X轴上做了负25度的变形,背景颜色用的是CSS3的线性渐变linear-gradient,然后hover的时候,设置0.5s的动画时间。同时在 i 层使用 cursor:pointer,如果不设置这个的话,需要等透明层动画之后才能看得到 pointer 指针。
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Document</title> <style type=""> .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: -100px;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;} }</style></head><body> <p class="overimg"> <a><img src="images/pandas.jpg" width="300px" height="150px"></a> <i class="light"></i></p></body></html>css3图片光影效果如下:











