制作的简单动画

今天我做了一个简单的动画,是关于loading的,曾经以为,loading的制作需要一些比较高深的web动画技术,后来发现大多数loading都可以用“障眼法”做出来。
我们做之前可以先看看他是什么样子的:



这个首先的思路就是,先设置一个大块,之后在大块中进行小块的设置,让小块之间进行间隔,如下图:



代码如下(html的):
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>哈哈</title>
    <link rel="stylesheet" type="text/css" href="css/css.css">
</head>
<body>
<div id="ddr">
    <div class="ddr ddr1"></div>
    <div class="ddr ddr2"></div>
    <div class="ddr ddr3"></div>
    <div class="ddr ddr4"></div>
    <div class="ddr ddr5"></div>
</div>
</body>
</html>

(css的)

@charset "UTF-8";
#ddr{
    margin: 0 auto;
    width: 70px;
    height: 120px;
}
.ddr {
    width: 10px;
    height: 120px;
    float: left;
    margin: 2px;
    background-color: #00ff00;
}

之后,我们就要想,要怎么实现上面的动态效果呢,我们可以看出,上面的小条条是一个一个来进行y轴上的缩放的,所以我们之后在进行设置:
代码:

.ddr{
    animation: loading 1s infinite ease-in-out;
    /*animation:动画名称 持续时间 无限次重复 开始和结束比较慢中间快*/
}

@keyframes loading {
    0%,40%,100%{ /*定义每帧的动作*/
        -webkit-transform: scaleY(0.5);  /*在Y轴上进行缩放*/
    }
    20%{
        -webkit-transform: scaleY(1);
    }
}

之后我们会发现,他们在进行缩放的时候,是不同时间开始的,所以我们要设置开始执行的时间,我们先看看代码

.ddr2{
    animation-delay: -0.9s;
}
.ddr3{
    animation-delay: -0.8s;
}
.ddr4{
    animation-delay: -0.7s;
}
.ddr5{
    animation-delay: -0.6s;
}

有人看见代码肯定会说,为什么设置的时候不是让第二个小块在第0.1秒的时候进行开始,其实我当时也是写的0.1秒,但是写完之后,你会发现,如果设置0.1秒的话,因为我们在展示的时候是把它当成从短变长的,所以如果写0.1秒,它就会出现开始都是长的,然后变成短的的感觉,就不是想象中的样子了,你们可以自己试试。
总体的代码是:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>哈哈</title>
    <link rel="stylesheet" type="text/css" href="css/css.css">
</head>
<body>
<div id="ddr">
    <div class="ddr ddr1"></div>
    <div class="ddr ddr2"></div>
    <div class="ddr ddr3"></div>
    <div class="ddr ddr4"></div>
    <div class="ddr ddr5"></div>
</div>
</body>
</html>
@charset "UTF-8";
#ddr{
    margin: 0 auto;
    width: 70px;
    height: 120px;
}
.ddr {
    width: 10px;
    height: 120px;
    float: left;
    margin: 2px;
    background-color: #00ff00;
}
.ddr{
    animation: loading 1s infinite ease-in-out;
    /*animation:动画名称 持续时间 无限次重复 开始和结束比较慢中间快*/
}
.ddr2{
    animation-delay: -0.9s;
}
.ddr3{
    animation-delay: -0.8s;
}
.ddr4{
    animation-delay: -0.7s;
}
.ddr5{
    animation-delay: -0.6s;
}
@keyframes loading {
    0%,40%,100%{ /*定义每帧的动作*/
        -webkit-transform: scaleY(0.5);  /*在Y轴上进行缩放*/
    }
    20%{
        -webkit-transform: scaleY(1);
    }
}

这样就可以啦!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hell...
    Kevin_Junbaozi阅读 5,330评论 3 23
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,618评论 1 32
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,257评论 5 13
  • 昨天和今天读毕《乡愁》的最后一章,记叙和生病的友人波比共同生活的片段,记叙友人的离去。黑塞的文字像诗歌更像音乐,播...
    sH2nxy阅读 4,931评论 0 3
  • 你不知道我知道 所以你希望的 我都会去做 “别人的伤心都用眼泪表达了 我也只是冷笑而已 把心疼藏在冷笑里 流血的样...
    鱼悦月阅读 684评论 0 15

友情链接更多精彩内容