animation-fill-mode 属性规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
注意:默认情况下,CSS 动画在第一个关键帧播放完之前不会影响元素,在最后一个关键帧完成后停止影响元素。
animation-fill-mode: none|forwards|backwards|both|initial|inherit;
值 | 说明 |
none | 默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。 |
forwards | 在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值。 |
backwards | 动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是 from 关键帧中的值(当 animation-direction 为 “normal” 或 “alternate” 时)或 to 关键帧中的值(当 animation-direction 为 “reverse” 或 “alternate-reverse” 时)。 |
both | 动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性。 |
initial | 设置该属性为它的默认值。 |
inherit | 从父元素继承该属性。 |
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>NTHOME-零基础入门学习Web(HTML5+CSS3)</title>
<style>
div
{
width:100px;
height:100px;
border-radius: 50%;
background:green;
position:relative;
animation:1 3s;
animation-fill-mode:forwards;
/* Safari 和 Chrome */
-webkit-animation:1 3s;
-webkit-animation-fill-mode:forwards;
}
@keyframes 1
{
0% {background:red; left:0px; top:0px;}
25% {background:yellow; left:200px; top:0px;}
50% {background:blue; left:200px; top:200px;}
75% {background:red; left:0px; top:200px;}
100% {background:green; left:0px; top:0px;}
}
</style>
</head>
<body>
<div></div>
</body>
</html>
只执行一次动画。便停留在最后一个位置。
表格中的数字表示支持该属性的第一个浏览器版本号。
Safari | Chrome | FireFox | IE |
4.0 | 4.0 | 4.0 | 10.0 |