首先我们要知道本篇文章中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图片光影效果如下:
以上就是本篇文章的全部内容了,关于css3中transition属性和transform属性更详细的讲解大家可以参考css3学习手册。
以上就是css3如何实现图片光影效果?css3图片光影实现的方法介绍的详细内容,更多请关注php中文网其它相关文章!
……