对比

animation类似于transition,随着时间改变元素属性值。

区别在于,transition需要触发事件才会随时间改变元素CSS属性,animation不需要触发事件就可以随时间变化改变元素CSS属性,达到动画效果。

区别

animation不需要触发事件,transition需要触发事件

transition只有一组关键帧(两个:开始-结束),动画可以设置多个。

演示

动画

源码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation-name:myfirst;
animation-duration:5s;
animation-timing-function:linear;
animation-delay:2s;
animation-iteration-count:infinite;
animation-direction:normal;
animation-play-state:running;
}

@keyframes myfirst
{
0% {background:red; left:0px; top:0px;}
25% {background:yellow; left:200px; top:0px;}
50% {background:blue; left:200px; top:200px;}
75% {background:green; left:0px; top:200px;}
100% {background:red; left:0px; top:0px;}
}
</style>
</head>
<body>

<div></div>

</body>
</html>