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)
}
简单说下思路你可以试试看行不行
,雨滴用图片,图片外面包含链接,链接外用
包含。通过设置相应CSS里的
z-index
属性使图片浮在页面上。然后通过
setTimeout
()函数使图片动起来。最后对整个
标签触发onclock事件