©
This document uses PHP Chinese website manual Release
animation-fill-mode:<single-animation-fill-mode>[,<single-animation-fill-mode>]*
<single-animation-fill-mode> = none | forwards | backwards | both
默认值:none
适用于:所有元素,包含伪对象:after和:before
继承性:无
动画性:否
计算值:指定值
媒体:视觉
none:默认值。不设置对象动画之外的状态
forwards:设置对象状态为动画结束时的状态
backwards:设置对象状态为动画开始时的状态
both:设置对象状态为动画结束或开始的状态
如果提供多个属性值,以逗号进行分隔。
对应的脚本特性为animationFillMode。
Values | IE | Firefox | Chrome | Safari | Opera | iOS Safari | Android Browser | Android Chrome |
---|---|---|---|---|---|---|---|---|
Basic Support | 6.0-9.0 | 2.0-4.0 | 4.0-42.0-webkit- | 6.0-8.0-webkit- | 15.0-29.0-webkit- | 6.0-8.4-webkit- | 2.1-3.0-webkit- #1 | 18.0-42.0-webkit- |
10.0+ | 5.0-15.0-moz- | 43.0+ | 9.0+ | 30.0+ | 9.0+ | 4.0-40.0-webkit- | ||
16.0+ |
在一些场景中会有错误行为
部分浏览器不支持伪元素动画,或者支持得不够好,尽可能不要利用伪元素来做动画
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>animation-fill-mode_CSS参考手册_web前端开发参考手册系列</title> <meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" /> <style> h1{font-size:16px;} li{padding:10px;} span{display:block;width:80px;height:80px;padding:10px;border-radius:50px;box-shadow:0 0 10px rgba(204,102,0,.8);background:#F6D66E;background:-moz-linear-gradient(top,#fff,#F6D66E);background:-webkit-linear-gradient(top,#fff,#F6D66E);background:linear-gradient(to bottom,#fff,#F6D66E);} .none span{ -moz-animation:animations 1s ease; -webkit-animation:animations 1s ease; animation:animations 1s ease; } @-webkit-keyframes animations{ 0%{-webkit-transform:translate(0,0);} 100%{-webkit-transform:translate(400px);} } @-moz-keyframes animations{ 0%{-moz-transform:translate(0,0);} 100%{-moz-transform:translate(400px);} } @keyframes animations{ 0%{transform:translate(0,0);} 100%{transform:translate(400px);} } .forwards span{ -moz-animation:animations2 1s ease forwards; -webkit-animation:animations2 1s ease forwards; animation:animations2 1s ease forwards; } @-webkit-keyframes animations2{ 0%{-webkit-transform:translate(0,0);} 100%{-webkit-transform:translate(400px);} } @-moz-keyframes animations2{ 0%{-moz-transform:translate(0,0);} 100%{-moz-transform:translate(400px);} } @keyframes animations2{ 0%{transform:translate(0,0);} 100%{transform:translate(400px);} } .backwards span{ -moz-animation:animations3 1s ease backwards; -webkit-animation:animations3 1s ease backwards; animation:animations3 1s ease backwards; } @-webkit-keyframes animations3{ 0%{-webkit-transform:translate(0,0);} 100%{-webkit-transform:translate(400px);} } @-moz-keyframes animations3{ 0%{-moz-transform:translate(0,0);} 100%{-moz-transform:translate(400px);} } @keyframes animations3{ 0%{transform:translate(0,0);} 100%{transform:translate(400px);} } .both span{ -moz-animation:animations4 1s ease both; -webkit-animation:animations4 1s ease both; animation:animations4 1s ease both; } @-webkit-keyframes animations4{ 0%{-webkit-transform:translate(0,0);} 100%{-webkit-transform:translate(400px);} } @-moz-keyframes animations4{ 0%{-moz-transform:translate(0,0);} 100%{-moz-transform:translate(400px);} } @keyframes animations4{ 0%{transform:translate(0,0);} 100%{transform:translate(400px);} } </style> </head> <body> <h1>animation-fill-mode:</h1> <ul> <li class="none"> <strong>none: </strong> <span></span> </li> <li class="forwards"> <strong>forwards: </strong> <span></span> </li> <li class="backwards"> <strong>backwards: </strong> <span></span> </li> <li class="both"> <strong>both: </strong> <span></span> </li> </ul> </body> </html>
点击 "运行实例" 按钮查看在线实例
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>animation-fill-mode_CSS参考手册_web前端开发参考手册系列</title> <meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" /> <style> h1{font-size:16px;} li{padding:10px;} span{display:block;width:80px;height:80px;padding:10px;border-radius:50px;box-shadow:0 0 10px rgba(204,102,0,.8);background:#F6D66E;background:-moz-linear-gradient(top,#fff,#F6D66E);background:-webkit-linear-gradient(top,#fff,#F6D66E);background:linear-gradient(to bottom,#fff,#F6D66E);} .none span{ -moz-animation:animations 1s ease; -webkit-animation:animations 1s ease; animation:animations 1s ease; } @-webkit-keyframes animations{ 0%{-webkit-transform:translate(0,0);} 100%{-webkit-transform:translate(400px);} } @-moz-keyframes animations{ 0%{-moz-transform:translate(0,0);} 100%{-moz-transform:translate(400px);} } @keyframes animations{ 0%{transform:translate(0,0);} 100%{transform:translate(400px);} } .forwards span{ -moz-animation:animations2 1s ease forwards; -webkit-animation:animations2 1s ease forwards; animation:animations2 1s ease forwards; } @-webkit-keyframes animations2{ 0%{-webkit-transform:translate(0,0);} 100%{-webkit-transform:translate(400px);} } @-moz-keyframes animations2{ 0%{-moz-transform:translate(0,0);} 100%{-moz-transform:translate(400px);} } @keyframes animations2{ 0%{transform:translate(0,0);} 100%{transform:translate(400px);} } .backwards span{ -moz-animation:animations3 1s ease backwards; -webkit-animation:animations3 1s ease backwards; animation:animations3 1s ease backwards; } @-webkit-keyframes animations3{ 0%{-webkit-transform:translate(0,0);} 100%{-webkit-transform:translate(400px);} } @-moz-keyframes animations3{ 0%{-moz-transform:translate(0,0);} 100%{-moz-transform:translate(400px);} } @keyframes animations3{ 0%{transform:translate(0,0);} 100%{transform:translate(400px);} } .both span{ -moz-animation:animations4 1s ease both; -webkit-animation:animations4 1s ease both; animation:animations4 1s ease both; } @-webkit-keyframes animations4{ 0%{-webkit-transform:translate(0,0);} 100%{-webkit-transform:translate(400px);} } @-moz-keyframes animations4{ 0%{-moz-transform:translate(0,0);} 100%{-moz-transform:translate(400px);} } @keyframes animations4{ 0%{transform:translate(0,0);} 100%{transform:translate(400px);} } </style> </head> <body> <h1>animation-fill-mode:</h1> <ul> <li class="none"> <strong>none: </strong> <span></span> </li> <li class="forwards"> <strong>forwards: </strong> <span></span> </li> <li class="backwards"> <strong>backwards: </strong> <span></span> </li> <li class="both"> <strong>both: </strong> <span></span> </li> </ul> </body> </html>
点击 "运行实例" 按钮查看在线实例