在CSS3中,我们可以使用animation-iteration-count属性来定义动画的播放次数。

语法:

animation-iteration-count: 取值;

说明:

animation-iteration-count属性取值有两种:一种是“正整数”;另外一种是“infinite”。当取值是n(正整数)时,表示动画播放n次;当取值为infinite时,表示动画播放无数次,也就是循环播放。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> @keyframes mytranslate { 0%{} 50%{transform:translateX(160px);} 100%{} } #ball { width:40px; height:40px; border-radius:20px; background-color:red; animation-name:mytranslate; animation-timing-function:linear; animation-duration:2s; animation-iteration-count:infinite; /*循环播放*/ } #container { display:inline-block; width:200px; border:1px solid silver; } </style> </head> <body> <div id="container"> <div id="ball"></div> </div> </body> </html>

浏览器预览效果如下图所示。

分析:

这里定义animation-iteration-count属性值为infinite。当打开页面时动画会自动播放,并且会无限循环播放。

这里留个问题让小伙伴们思考一下:大家试着把transform:translateX(160px);这一句代码放到100%{}中,看看实际效果如何?

animation-name:mytranslate; animation-duration:2s; animation-timing-function:linear; animation-iteration-count:infinite; /*循环播放*/

在实际开发中,我们很少会使用动画效果的完整形式,都是采用下面这种简写形式:

animation:mytranslate 2s linear infinite;