效果一:360°旋转 修改rotate(旋转度数)
01* {
02transition:All 0.4s ease-in-out
03-webkit-transition:All 0.4s ease-in-out
04-moz-transition:All 0.4s ease-in-out
05-o-transition:All 0.4s ease-in-out
06}
07*:hover {
08transform:rotate(360deg)
09-webkit-transform:rotate(360deg)
10-moz-transform:rotate(360deg)
11-o-transform:rotate(360deg)
12-ms-transform:rotate(360deg)
13}
效果二:放大 修改scale(放大的值)
01* {
02transition:All 0.4s ease-in-out
03-webkit-transition:All 0.4s ease-in-out
04-moz-transition:All 0.4s ease-in-out
05-o-transition:All 0.4s ease-in-out
06}
07*:hover {
08transform:scale(1.2)
09-webkit-transform:scale(1.2)
10-moz-transform:scale(1.2)
11-o-transform:scale(1.2)
12-ms-transform:scale(1.2)
13}
效果三:旋转放大 修改rotate(旋转度数) scale(放大值)
01* {
02transition:All 0.4s ease-in-out
03-webkit-transition:All 0.4s ease-in-out
04-moz-transition:All 0.4s ease-in-out
05-o-transition:All 0.4s ease-in-out
06}
07*:hover {
08transform:rotate(360deg) scale(1.2)
09-webkit-transform:rotate(360deg) scale(1.2)
10-moz-transform:rotate(360deg) scale(1.2)
11-o-transform:rotate(360deg) scale(1.2)
12-ms-transform:rotate(360deg) scale(1.2)
13}
效果四:上下左右移动 修改translate(x轴,y轴)
01* {
02transition:All 0.4s ease-in-out
03-webkit-transition:All 0.4s ease-in-out
04-moz-transition:All 0.4s ease-in-out
05-o-transition:All 0.4s ease-in-out
06}
07*:hover {
08transform:translate(0,-10px)
09-webkit-transform:translate(0,-10px)
10-moz-transform:translate(0,-10px)
11-o-transform:translate(0,-10px)
12-ms-transform:translate(0,-10px)
13}
简单的说,CSS3把很多以前需要使用图片和脚本来实现的效果,只需要短短几行代码就能搞定。1、CSS进行渐变背影的设置,在background中添加了linear-gradient线性渐变,
background: linear-gradient(yellow 0%, #000 80%)/*从0%黄色到80%黑色的渐变*/
2、CSS 3D
perspective:查看视图的位置,如拍照时的镜头位置一样。
transform-style中preserve-3d,设置了此属性时,将子元素包裹在一个3D视图里。
3、CSS animation
说到动画就不得不说jQuery的animation。但有了CSS3后就再也不用JS进行制作动画了。
keyframes定义帧动画,可根据百分比进行设置,也可利用from和to的方式进行设置。
利用animation引用定义好的keyframes帧动画。animation:rotate 20s infinite linear/*设置引用的动画,动画时间,动画的timing-function,动画方式*/
4、CSS filter
fileter并非IE的过滤器,是CSS3中新添加的属性。
包含效果有:grayscale灰度,sepia褐色,saturate饱和度,hue-rotate色相旋转,invert反色,opacity透明度,brightness亮度,contrast对比度,blur模糊,drop-shadow阴影.
挤压效果就是利用filter中的blur加saturate混合而来
参考下面方法:1先实现一个小雨滴
首先雨滴是一个个小的椭圆形元素:
.raindrop {
width: 8px
height: 7px
border-radius: 100%
}
2其次雨滴是一个个凸透镜,能折射出远处的景色,远景所处位置远大于2倍焦距,成倒立、缩小的实像。
“倒立”的效果可以通过旋转180°来实现,“缩小”的效果通过设置背景图片的尺寸来达到(下面把背景图缩小到全屏的5%并居中)。
.raindrop {
position: absolute
background-image: url("背景图地址")比如:i.imgur.com/xQdYC7x.jpg 前面加上http://。
background-size: 5vw 5vh
background-position: 50%
transform: rotate(180deg) rotateY(0)
}
这样就得到了一个小雨点。
3随机雨滴
接着要创建一些随机分布的雨点对象,假如只有几个,可以手动编写CSS代码,但如果有几十个,直接写CSS代码的效率和可维护性就很差了。
使用SCSS的random方法,来随机微调雨点对象的尺寸和绝对位置。
// 生成0到1之间的随机数
$x:random()
$y:random()
// 随机尺寸和位置
$drop-width:5px+random(11)
$drop-stretch:0.7+(random()*0.5)
$drop-height:$drop-width*$drop-stretch
.raindrop:nth-child(#{$i}){
left:$x * $width
top:$y * $height
width:$drop-width
height:$drop-height
background-position:percentage($x) percentage($y)
}
}
4效果增强
还可以给雨滴添加一点闪光的视觉效果,通过CSS3滤镜来实现:
[css] view plain copy
.raindrop {
filter: brightness(1.2)
-webkit-filter: brightness(1.2)
}