likes
comments
collection
share

一个非常创意的气泡漂浮动效

作者站长头像
站长
· 阅读数 99

游戏写了四篇了,多少有点审美疲劳,这一篇呢,我们就尝试写一个纯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
评论
请登录