一. 概述
1.动画(animation)
(1)可通过设置多个节点来精确控制一个或一组动画 ,常用来实现复杂的动画效果。
(2)相比较过渡,动画可以实现更多变化,更多控制,连续自动播放等效果。
2.制作动画步骤
(1)先定义动画
(2)再调用动画
使用keyframes定义动画:
@keyframes 动画名称 {
0%{
width:100px;
}
100%{
width:200px;
}
}
动画序列 :
(1)0% 是动画的开始,100% 是动画的完成。这样的规则就是动画序列。
(2)在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。
(3)动画是使元素从一种样式逐渐变化为另一种样式的效果。您可以改变任意多的样式任意多的次数。
(4)用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。
调用动画:
在被添加动画的元素样式中加入下面两个属性
/* 调用动画 */
animation-name: 动画名称;
/* 持续时间 */
animation-duration: 持续时间;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
@keyframes one {
0%{
transform: translate(0px,0px);
}
25%{
transform: translate(600px,0px);
}
50%{
transform: translate(600px,600px);
}
75%{
transform: translate(0px,600px);
}
100%{
transform: translate(0px,0px);
}
}
div {
width: 100px;
height: 100px;
background-color: red;
/* 调用动画 */
animation-name: one;
/* 持续时间 */
animation-duration: 4s;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
二.动画常用属性
动画简写属性:
animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束的状态;
animation: myfirst 5s linear 2s infinite alternate;
简写属性里面不包含 animation-play-state
暂停动画:animation-play-state: puased; 经常和鼠标经过等其他配合使用
想要动画走回来 ,而不是直接跳回来:animation-direction : alternate
盒子动画结束后,停在结束位置: animation-fill-mode : forwards
速度曲线详解:
animation-timing-function:规定动画的速度曲线,默认是“ease”
取值: