CSS3小球掉落依次排列动画

布局思路:

1、先在一个大盒子里建立三个小盒子来储存图片

2、为大盒子绝对定位脱标,然后再将图片脱标集中在一起

3、先为三个图片添加公共动画,其中:

image.png

4、为三个图片分别添加向左、向右以及原地不动的动画

<div id="wrap">
        <div class="pic1"><img src="./img/1.png" alt=""></div>
        <div class="pic2"><img src="./img/2.png" alt=""></div>
        <div class="pic3"><img src="./img/3.png" alt=""></div>
    </div>

 样式:

body,div{
            margin: 0;
            padding: 0;
        }
        body{
            color: aliceblue;
        }
        #wrap{
            width: 580px;
            height: 143px;
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
            margin: auto;
        }
        #wrap img{
            width: 160px;
        }
        #wrap div{
            float: left;
            margin-right: 50px;
        }
        /* 给三个小盒子添加定位,让他们最初出现在哪,和布局没有关系,和要做的弹跳的位置有关系 */
        .pic1,.pic2,.pic3{
            /* 绝对定位目的:让三个小盒子都在一个位置出现 */
            position: absolute;
            left: 50%;
            margin-left: -80px;
        }
        
        .pic1{
            z-index: 5;
            /* jumper1 动画名称
            0.5s 动画完成时间
            ease-in 动画以慢速开始
            1 动画完成次数
            forwars 停留在动画最后一帧 */
            animation: 
            jumper1 0.5s ease-in 1 forwards,
            /* jumper2 动画名称
            0.2s 动画完成时间
            ease-out 动画以慢速结束
            0.5s 动画推迟0.5s运行
            1 动画完成次数
            forwars 停留在动画最后一帧 */
            jumper2 0.2s ease-out 0.5s 1 forwards,
            jumper3 0.2s ease-in 0.7s 1 forwards,
            jumper4 0.15s ease-out 0.9s 1 forwards,
            jumper5 0.15s ease-in 1.05s 1 forwards,
            leftmove 0.4s ease-out 1.2s 1 forwards;
        }
        .pic2{
            z-index: 2;
            animation: 
            jumper1 0.5s ease-in 1 forwards,
            /* 停留在最后一帧 */
            jumper2 0.2s ease-out 0.5s 1 forwards,
            jumper3 0.2s ease-in 0.7s 1 forwards,
            jumper4 0.15s ease-out 0.9s 1 forwards,
            jumper5 0.15s ease-in 1.05s 1 forwards,
            middle 0.4s ease-out 1.2s 1 forwards;
        }
        .pic3{
            z-index: 3;
            animation: 
            jumper1 0.5s ease-in 1 forwards,
            /* 停留在最后一帧 */
            jumper2 0.2s ease-out 0.5s 1 forwards,
            jumper3 0.2s ease-in 0.7s 1 forwards,
            jumper4 0.15s ease-out 0.9s 1 forwards,
            jumper5 0.15s ease-in 1.05s 1 forwards,
            rightmove 0.4s ease-out 1.2s 1 forwards;
        }
        #wrap div:last-child {
            margin-right: 0;
        }      
        @keyframes jumper1{
            0%{
                transform: translateY(-500px);
            }
            100%{
                transform: translateY(0);
            }
        }
        @keyframes jumper2{
            0%{
                transform: translateY(0);
            }
            100%{
                transform: translateY(-100px);
            }
        }
        @keyframes jumper3{
            0%{
                transform: translateY(-100px);
            }
            100%{
                transform: translateY(0);
            }
        }
        @keyframes jumper4{
            0%{
                transform: translateY(0px);
            }
            100%{
                transform: translateY(-50px);
            }
        }
        @keyframes jumper5{
            0%{
                transform: translateY(-50px);
            }
            100%{
                transform: translateY(0);
            }
        }
        @keyframes middle{
            0%{
                transform: translateX(0);
            }
            100%{
                transform: translateX(0) scale(1.6) rotate(360deg);
            }
        }
        @keyframes rightmove{
            0%{
                transform: translateX(0);
            }
            100%{
                transform: translateX(300px) scale(1.6) rotate(360deg);
            }
        }
        @keyframes leftmove{
            0%{
                transform: translateX(0);
            }
            100%{
                transform: translateX(-300px) scale(1.6) rotate(360deg);
            }
        }

代码演示:

小球掉落动画.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值