视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CSS3中Animation动画属性用法详细说明
2020-11-27 18:52:50 责编:小采
文档
要使用animation动画,先要熟悉一下keyframes,Keyframes的语法规则:命名是由”@keyframes”开头,后面紧接着是这个“动画的名称”加上一对花括号“{}”,括号中就是一些不同时间段样式规则。不同关键帧是通过from(相当于0%)、to(相当于100%)或百分比来表示(为了得到最佳的浏览器支持,建议使用百分比),如下定义一个简单的动画:

@keyframes myfirst /*定义动画名*/
 { 
 0% {background:red; left:0px; top:0px;} /*定义起始帧样式,0%可以换成from*/
 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;} /*定义结束帧样式,100%可以换成to*/
 }

@keyframes定义好了,要使其能发挥效果,必须通过animation把它绑定到一个选择器,否则动画不会有任何效果。下面列出了animation的属性:

下面设置上述的所有属性

animation-name:myfirst; 
animation-duration:5s; 
animation-timing-function:linear; 
animation-delay:1s; 
animation-iteration-count:infinite; 
animation-direction:alternate; 
animation-play-state:running;

上述所有代码可以如下简写:

animation:myfirst 5s linear 2s infinite alternate; 
animation-play-state:running;

浏览器兼容性

Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。

Chrome 和 Safari 需要前缀 -webkit-。

注意:Internet Explorer 9,以及更早的版本,不支持 @keyframe 规则或 animation 属性。

下面给出上面介绍的关于keyframes和animation属性的完整代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>animation演示</title>
 <style>
 p 
 { 
 width:100px; 
 height:100px; 
 background:red; 
 position:relative; 
 animation-name:myfirst; 
 animation-duration:5s; 
 animation-timing-function:linear; 
 animation-delay:1s; 
 animation-iteration-count:infinite; 
 animation-direction:alternate; 
 animation-play-state:running; 
 /* Safari and Chrome: */ 
 -webkit-animation-name:myfirst; 
 -webkit-animation-duration:5s; 
 -webkit-animation-timing-function:linear; 
 -webkit-animation-delay:1s; 
 -webkit-animation-iteration-count:infinite; 
 -webkit-animation-direction:alternate; 
 -webkit-animation-play-state:running; 
 } 

 @keyframes myfirst /*定义动画名*/ 
 { 
 0% {background:red; left:0px; top:0px;} /*定义起始帧样式,0%相当于from*/ 
 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;} /*定义结束帧样式,100%相当于to*/ 
 } 

 @-webkit-keyframes myfirst /* Safari and Chrome */ 
 { 
 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>
 <p>该实例在 Internet Explorer 9 及更早 IE 版本是无效的。</p>
 <p></p>
</body>
</html>

上面代码演示了一个正方形沿着一个正方形轨迹运动,基数次按正方向运动,偶数次按反方向运动,运动过程中还带有颜色变化。具体效果,读者可以自行运行代码观察。

下载本文
显示全文
专题