?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
animation:<single-animation>[,<single-animation>]*
<single-animation> = <single-animation-name> || <time> || <single-animation-timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state>
默認(rèn)值:看每個獨(dú)立屬性
適用于:所有元素,包含偽對象:after和:before
繼承性:無
動畫性:否
計算值:看每個獨(dú)立屬性
媒體:視覺
<' animation-name '>:檢索或設(shè)置對象所應(yīng)用的動畫名稱
<' animation-duration '>:檢索或設(shè)置對象動畫的持續(xù)時間
<' animation-timing-function '>:檢索或設(shè)置對象動畫的過渡類型
<' animation-delay '>:檢索或設(shè)置對象動畫延遲的時間
<' animation-iteration-count '>:檢索或設(shè)置對象動畫的循環(huán)次數(shù)
<' animation-direction '>:檢索或設(shè)置對象動畫在循環(huán)中是否反向運(yùn)動
<' animation-fill-mode '>:檢索或設(shè)置對象動畫時間之外的狀態(tài)
<' animation-play-state '>:檢索或設(shè)置對象動畫的狀態(tài)。w3c正考慮是否將該屬性移除,因為動畫的狀態(tài)可以通過其它的方式實現(xiàn),比如重設(shè)樣式
如果提供多組屬性值,以逗號進(jìn)行分隔。
注意:如果只提供一個<time>參數(shù),則為 <' animation-duration '> 的值定義;如果提供二個<time>參數(shù),則第一個為 <' animation-duration '> 的值定義,第二個為 <' animation-delay '> 的值定義
對應(yīng)的腳本特性為animation。
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_CSS參考手冊_web前端開發(fā)參考手冊系列</title> <meta name="author" content="Joy Du(飄零霧雨), dooyoe@gmail.com, www.doyoe.com" /> <style> div{position:absolute;top:50%;left:50%;overflow:hidden;width:300px;height:150px;margin:-75px 0 0 -150px;border:3px solid #eee;background:#e0e0e0;} span{display:block;height:50px;font:bold 14px/50px Georgia;} .a1{ -webkit-transform:translate(60px); -moz-transform:translate(60px); transform:translate(60px); -webkit-animation:animations 2s ease-out forwards; -moz-animation:animations 2s ease-out forwards; animation:animations 2s ease-out forwards; } @-webkit-keyframes animations{ 0%{-webkit-transform:translate(0);opacity:0;} 50%{-webkit-transform:translate(30px);opacity:1;} 70%{-webkit-transform:translate(35px);opacity:1;} 100%{-webkit-transform:translate(60px);opacity:0;} } @-moz-keyframes animations{ 0%{-moz-transform:translate(0);opacity:0;} 50%{-moz-transform:translate(30px);opacity:1;} 70%{-moz-transform:translate(35px);opacity:1;} 100%{-moz-transform:translate(60px);opacity:0;} } @keyframes animations{ 0%{transform:translate(0);opacity:0;} 50%{transform:translate(30px);opacity:1;} 70%{transform:translate(35px);opacity:1;} 100%{transform:translate(60px);opacity:0;} } .a3{ opacity: 0; -webkit-transform:translate(100px); -moz-transform:translate(100px); transform:translate(100px); -webkit-animation:animations3 2s ease-out 2s forwards; -moz-animation:animations3 2s ease-out 2s forwards; animation:animations3 2s ease-out 2s forwards; } @-webkit-keyframes animations3{ 0%{-webkit-transform:translate(160px);opacity:0;} 50%{-webkit-transform:translate(130px);opacity:1;} 70%{-webkit-transform:translate(125px);opacity:1;} 100%{-webkit-transform:translate(100px);opacity:0;} } @-moz-keyframes animations3{ 0%{-moz-transform:translate(160px);opacity:0;} 50%{-moz-transform:translate(130px);opacity:1;} 70%{-moz-transform:translate(125px);opacity:1;} 100%{-moz-transform:translate(100px);opacity:0;} } @keyframes animations3{ 0%{transform:translate(160px);opacity:0;} 50%{transform:translate(130px);opacity:1;} 70%{transform:translate(125px);opacity:1;} 100%{transform:translate(100px);opacity:0;} } .a2{ opacity: 0; text-align:center;font-size:26px; -webkit-animation:animations2 5s ease-in-out 4s forwards; -moz-animation:animations2 5s ease-in-out 4s forwards; animation:animations2 5s ease-in-out 4s forwards; } @-webkit-keyframes animations2{ 0%{opacity:0;} 40%{opacity:.8;} 45%{opacity:.3;} 50%{opacity:.8;} 55%{opacity:.3;} 60%{opacity:.8;} 100%{opacity:0;} } @-moz-keyframes animations2{ 0%{opacity:0;} 40%{opacity:.8;} 45%{opacity:.3;} 50%{opacity:.8;} 55%{opacity:.3;} 60%{opacity:.8;} 100%{opacity:0;} } @keyframes animations2{ 0%{opacity:0;} 40%{opacity:.8;} 45%{opacity:.3;} 50%{opacity:.8;} 55%{opacity:.3;} 60%{opacity:.8;} 100%{opacity:0;} } </style> </head> <body> <div> <span class="a1">CSS3 Animations</span> <span class="a2">CSS3 Animations</span> <span class="a3">CSS3 Animations</span> </div> </body> </html>
點擊 "運(yùn)行實例" 按鈕查看在線實例