一个非常创意的气泡漂浮动效
游戏写了四篇了,多少有点审美疲劳,这一篇呢,我们就尝试写一个纯css的动效,用到了内阴影,滤镜, 动画等属性
气泡
因为要纯css嘛,所以我们只能是在页面上写死气泡了,然后应用动画来让他动起来,这里气泡我们采用了box-shadow的inset的方式,也就是内阴影的方式
语法
box-shadow: *h-shadow v-shadow blur spread color* inset;
注意: boxShadow 属性把一个或多个下拉阴影添加到框上。该属性是一个用逗号分隔阴影的列表,每个阴影由 2-4 个长度值、一个可选的颜色值和一个可选的 inset 关键字来规定。省略长度的值是 0。\
值 | 说明 |
---|---|
h-shadow | 必需的。水平阴影的位置。允许负值 |
v-shadow | 必需的。垂直阴影的位置。允许负值 |
blur | 可选。模糊距离 |
spread | 可选。阴影的大小 |
color | 可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表 |
inset | 可选。从外层的阴影(开始时)改变阴影内侧阴影 |
<div class="pao"></div>
<div class="pao"></div>
<div class="pao"></div>
<div class="pao"></div>
.pao{
width: 80px;
height: 80px;
box-shadow: inset 0 0 10px 5px #fff;
border-radius: 50%;
position: absolute;
bottom: -100px;
left: 0;
}
.pao:nth-child(2) {
width: 30px;
height: 30px;
left: 100px;
}
.pao:nth-child(3) {
width: 50px;
height: 50px;
left: 200px;
}
.pao:nth-child(4) {
width: 70px;
height: 70px;
left: 300px;
}
动画
动画其实就是让这个泡泡,从下方,移动到上方,然后循环往复即可,这里我加入了不同的时长和延时,让泡泡动的不那么同步
.pao{
width: 80px;
height: 80px;
box-shadow: inset 0 0 10px 5px #fff;
border-radius: 50%;
position: absolute;
bottom: -100px;
left: 0;
animation: paoEr 8s infinite;
}
.pao:nth-child(2) {
width: 30px;
height: 30px;
left: 100px;
animation-duration: 10s;
animation-delay: .6s;
}
.pao:nth-child(3) {
width: 50px;
height: 50px;
left: 200px;
animation-duration: 12s;
animation-delay: 1.6s;
}
.pao:nth-child(4) {
width: 70px;
height: 70px;
left: 300px;
animation-duration: 16s;
}
@keyframes paoEr {
0%{
transform: translateX(0);
bottom: -100px;
opacity: 1;
}
50%{
transform: translateX(150px);
opacity: .6;
}
100%{
transform: translateX(0);
bottom: 100%;
opacity: 1;
}
}
光说不练假把式,这就上地址!
转载自:https://juejin.cn/post/7141672839270105095