关于CSS3动画

CSS3 | 本篇文章共564字,预计阅读2分钟

CSS3动画

制作一个CSS3动画需要2步

  1. 声明CSS3@keyframes规则
    • @keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式
    • 利用百分比来规定变化发生的时间,或用关键词from和to,等同于0%和100%
    • 0%是动画的开始,100%是动画的结束
    • 为了得到浏览器的最佳支持,应该始终定义0%和100%
  2. 将CSS3@keyframes规则绑定到指定的选择器上,使用animation设定动画属性
    • animation是简写属性
    • animation-name即是动画关键帧名字
    • animation-dration即是动画持续时间
    • animation-timing-function即是动画过渡函数 属性值有:linear/ease/ease-in/ease-out/ease-in-out
    • animation-delay即是延迟时间
    • animation-iteration-count即是动画执行次数 对于属性值:infinite 即是无限循环
    • animation-direction即是动画执行方向 属性值normal为正常,alternate为反向播放*/

简单的动画实例

  1. loding加载动画
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<style typ="text/css">
.container {
width:15px;
margin:60px auto;
position:relative;
}
.container div {
position:absolute;
top:0px;
left:0px;
width:150px;
height:150px;
border-radius:50%;
background-color:lightskyblue;
animation:chars 2s infinite;
}
.container>div:nth-child(1) {
animation-delay:-1s;
opacity:0.8
}
@keyframes chars {
0% , 100% {transform:scale(0.0);}
50% {transform:scale(0.8);}
}
</style>
</head>
<body>
<div class="container">
<div ></div>
<div></div>
</div>
</body>

loding效果

change1.gif

  1. 矩形移动动画
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<style typ="text/css">
.container {
width:150px;
height:150px;
background-color:lightskyblue;
margin:10px;
position:absolute;
animation: chara 2s infinite;
}
@keyframes chara {
0% {top:0; left:20%;}
25% {top:0; left:80%;}
50% {top:60%; left:80%;}
75% {top:60%; left:20%;}
100% {top:0; left:20%;}
}
/*animation全部属性:
animation-name即是动画关键帧名字
animation-dration即是动画持续时间
animation-timing-function即是动画过渡函数 属性值有:linear/ease/ease-in/ease-out/ease-in-out
animation-delay即是延迟时间
animation-iteration-count即是动画执行次数 对于属性值:infinite 即是无限循环
animation-direction即是动画执行方向 属性值normal为正常,alternate为反向播放*/
</style>
</head>
<body>
<div class="container">
</div>
</body>

效果

change2.gif

本文作者: moofing

本文链接: https://moofing.gitee.io/posts/11943.html

版权声明: 本文采用 CC BY-NC-SA 4.0进行许可,转载或引用时请遵守该协议