Style animationFillMode 属性
改变 <div> 元素的 animationFillMode 属性:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>蜜蜂教程(mifengjc.com)</title> <style> div { width: 100px; height: 100px; background: red; position: relative; animation: mymove 2s 2; /*Safari、Chrome 和 Opera*/ -webkit-animation: mymove 2s 1; } @keyframes mymove { from { left: 0px; } to { left: 200px; } } /*Safari、Chrome 和 Opera*/ @-webkit-keyframes mymove { from { left: 0px; } to { left: 200px; } } </style> </head> <body> <p>点击“尝试一下”按钮让 DIV 元素在动画完成时保持最后一个关键帧的样式:to {left:200px;}。</p> <button onclick="myFunction()">尝试一下</button> <script> function myFunction() { document.getElementById("myDIV").style.animationFillMode = "forwards"; // 针对 Chrome、Safari 和 Opera 的代码 document.getElementById("myDIV").style.WebkitAnimationFillMode = "forwards"; } </script> <p><strong>注意:</strong>对于 Firefox 用户:请确保在动画完成之前点击按钮,否则将不会产生任何影响,因为动画一旦完成不会重头开始播放。</p> <p><strong>注意:</strong>只有 Firefox 支持 animationFillMode 属性。</p> <div id="myDIV"></div> </body> </html>
定义和用法
animationFillMode 属性规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
默认情况下,CSS 动画在第一个关键帧播放完之前不会影响元素,在最后一个关键帧完成后停止影响元素。animationFillMode 属性可重写该行为。
浏览器支持
只有 Firefox 和 Opera 支持 animationFillMode 属性。
语法
返回 animationFillMode 属性:
object.style.animationFillMode
设置 animationFillMode 属性:
object.style.animationFillMode = "none|forwards|backwards|both|initial|inherit"
属性值
值 | 描述 |
---|---|
none | 默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。 |
forwards | 在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值。 |
backwards | 动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是 from 关键帧中的值(当 animationDirection 为 "normal" 或 "alternate" 时)或 to 关键帧中的值(当 animationDirection 为 "reverse" 或 "alternate-reverse" 时)。 |
both | 动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性。 |
initial | 设置该属性为它的默认值。请参阅 initial。 |
inherit | 从父元素继承该属性。请参阅 inherit。 |
技术细节
默认值: | none |
---|---|
返回值: | 字符串,表示元素的 animation-fill-mode 属性。 |
CSS 版本 | CSS3 |
相关文章
CSS 参考手册:animation-fill-mode 属性