CSS动画之水球

原先以为水球那么复杂的动画只能是用封装好的,像Echarts上的水球,
后来偶然发现,其实水球的动画好简单的,纯CSS就可以实现。以下为效果图:

水球2.gif

Step1HTML,共需要4个div,一个是最外层的圆球,里面3个div,是3条不同颜色的波纹。

<div className="water_waves">
            <div className="water_wave1"></div>
            <div className="water_wave2"></div>
            <div className="water_wave3"></div>
 </div>

Step2 CSS 里面3个div要相对于父级圆球div绝对定位。

.water_waves{
    width: 100px;
    height: 100px;
    border: 1px solid #ccc;
    border-radius: 50%;
    margin: auto;
    position: relative;
}
.water_wave1{
        background-color: #33cfff;
        position: absolute;
        width: 200%;
        height: 200%;
        top: 40%;
        left: -25%;
        opacity: 0.7;
        border-radius: 40%;
    }
.water_wave2{
        position: absolute;
        width: 200%;
        height: 200%;
        background-color: #0eaffe;
        top: 45%;
        left: -35%;
        border-radius: 35%;
        opacity: 0.5;
    }
.water_wave3{
        position: absolute;
        width: 200%;
        height: 200%;
        top: 50%;
        left: -35%;
        opacity: 0.3;
        background-color: #0f7ae4;
        border-radius: 33%;
    }

此时效果如下:

WX20190814-150509.png

Step3 隐藏水球之外的部分。

.water_waves{
    over-flow: hidden;
}

现在的静态图已经出来了,如下:

WX20190814-150808.png

那现在重点来了,如何动起来??其实小伙伴们估计都明白了,就是只需要让里面的3个div旋转起来即可,也就是rotate。
Step4 外层水球的自定义动画。

@keyframes water-waves{
    0%{
        transform: rotate(0deg);
    }
    100%{
        transform: rotate(360deg);
    }
}
.water_waves{
    animation: water-waves linear infinite;
}

这样看起来并没有什么变化,因为圆球再怎么转起来也还是圆的,下面就需要设置里面各个div的动画啦~
Step5 最后一步,让里面的div转起来并且,还不能一起转,第二个第三个还得延时转。

.water_wave1{
        animation: inherit;
        animation-duration: 5s;
}
.water_wave2{
        animation: inherit;
        animation-duration: 7s;
}
.water_wave3{
        animation: inherit;
        animation-duration: 11s;
}

这样完整的水球图就做好啦~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,642评论 0 6
  • 【Android 动画】 动画分类补间动画(Tween动画)帧动画(Frame 动画)属性动画(Property ...
    Rtia阅读 6,266评论 1 38
  • 看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印象,因...
    DCbryant阅读 1,896评论 0 4
  • CSS参考手册 一、初识CSS3 1.1 CSS是什么 CSS3在CSS2.1的基础上增加了很多强大的新功能。目前...
    没汁帅阅读 3,764评论 1 13
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,346评论 0 11