CSS3:动画大全

时间:2023-03-09 16:32:36
CSS3:动画大全

和过渡的区别


页面不用明显js调用;
过渡:必须有:hover visited 等伪类调用。(本质还是事件驱动)
动画:页面加载上就可以。
页面有js调用:

7个参数,*为可选

animation-name
animation-duration 执行时长
*animation-timing-function 和过渡一样http://www.cnblogs.com/leee/p/5481693.html
*animation-delay 延迟多少时间 ms s
*animation-iteration-count 循环次数默认为 1 (反方向也算一次)。无限循环infinite。
*animation-direction 偶数反向播放alternate 正向方向 normal
*animation-fill-mode 回撤位置none、forwards(保持动画最终)、backwards(保持动画开始) 或 both(同时2中状态,没用过)

播放 暂停 属性


animation-play-state 播放状态( running 播放 和paused 暂停 )

缺点:


1,写起来复杂。至少3个针对浏览器的animation+至少3个针对浏览器的#keyframe,
2没法动态改变目标点位置(animation-fill-mode)

关键帧:


数字:0%、25%、100%等
字符:from(0%)、to(100%)

JS结合


参考http://www.cnblogs.com/leee/p/5481693.html

obj.addEventListener('webkitAnimationEnd', function (){}, false); webkit
obj.addEventListener('AnimationEnd', function (){}, false); firfox

例子

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
@-webkit-keyframes move
{
0%{
width:100px;
}
100%
{
width:200px;
}
}
@-moz-keyframes move
{
0%{
width:100px;
}
100%
{
width:200px;
}
}
@keyframes move
{
0%{
width:100px;
}
100%
{
width:200px;
}
}
.box{width:100px;height:100px;background:red; -webkit-animation:move 2s 1s ease-in-out 4 alternate forwards; -moz-animation:move 2s 1s ease-in-out 4 alternate forwards;animation:move 2s 1s ease-in-out 4 alternate forwards;}
.box:hover{-webkit-animation-play-state:paused;-moz-animation-play-state:paused;animation-play-state:paused }
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>