动画和过渡类似,都是可以实现一些动态的效果, 不同的是过渡需要在某个属性的发生变化时触发 动画可以自动出发动态效果
设置动画效果,必须要先设置一个关键帧,关键帧就设置了动画执行的每一个步骤
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
.box1{
width: 800px;
height: 800px;
background-color: #fff;
overflow: hidden;
}
.box1 div{
width: 100px;
height: 100px;
margin-bottom: 100px;
margin-left: 0;
}
.box2{
background-color:blue;
animation-name: test;
animation-duration : 5s;
animation-delay: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
}
@keyframes test{
from{
margin-left: 0px;
}
to{
margin-left: 700px;
}
}
</style>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
</html>
执行状态
animation-play-state: paused; 设置动画的执行状态 可选值: running 默认值 动画执行 paused 动画暂停
填充模式
animation-fill-mode: both; 动画的填充模式 可选值: none (默认值 动画执行完毕元素回到原来位置) forwards (动画执行完毕元素会停止在动画结束的位置) backwards (动画延时等待时,元素会处于开始位置) both (结合了forwards和backwards)
简写:
animation: test 2s 1s alternate;
|