在CSS3中,我们可以使用animation-delay属性来定义动画的延迟时间。CSS3动画的animation-delay属性跟CSS3过渡的transition-delay属性是相似的。

语法:

animation-delay: 时间;

说明:

animation-delay属性取值是一个时间,单位为秒(s),可以为小数,其中默认值为0s。也就是说,当我们没有定义animation-delay时,动画就没有延迟时间。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> @keyframes mytranslate { 0%{} 100%{transform:translateX(160px);} } #ball { width:40px; height:40px; border-radius:20px; background-color:red; animation-name:mytranslate; animation-duration:2s; animation-timing-function:linear; animation-delay:2s; /*设置动画在页面打开之后延迟2s开始播放*/ } #container { display:inline-block; width:200px; border:1px solid silver; } </style> </head> <body> <div id="container"> <div id="ball"></div> </div> </body> </html>

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

分析:

这里使用animation-delay属性定义动画的延迟时间为两秒,也就是说当页面打开后,动画需要延迟两秒才会开始执行。

animation-name:mytranslate; animation-duration:2s; animation-timing-function:linear; animation-delay:2s;

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

animation: mytranslate 2s linear 2s;