CSS3,我們可以創(chuàng)建動(dòng)畫,它可以取代許多網(wǎng)頁(yè)動(dòng)畫圖像,F(xiàn)lash動(dòng)畫,和JAVAScripts。
要?jiǎng)?chuàng)建CSS3動(dòng)畫,你將不得不了解@keyframes規(guī)則。
@keyframes規(guī)則是創(chuàng)建動(dòng)畫。 @keyframes規(guī)則內(nèi)指定一個(gè)CSS樣式和動(dòng)畫將逐步從目前的樣式更改為新的樣式。
屬性 | 瀏覽器支持 | ||||
---|---|---|---|---|---|
@keyframes | |||||
animation |
Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 規(guī)則和 animation 屬性。
Chrome 和 Safari 需要前綴 -webkit-。
注意:Internet Explorer 9,以及更早的版本,不支持 @keyframe 規(guī)則或 animation 屬性。
當(dāng)在@keyframe創(chuàng)建動(dòng)畫,把它綁定到一個(gè)選擇器,否則動(dòng)畫不會(huì)有任何效果。
指定至少這兩個(gè)CSS3的動(dòng)畫屬性綁定向一個(gè)選擇器:
把 "myfirst" 動(dòng)畫捆綁到 div 元素,時(shí)長(zhǎng):5 秒:
注意: 您必須定義動(dòng)畫的名稱和動(dòng)畫的持續(xù)時(shí)間。如果省略的持續(xù)時(shí)間,動(dòng)畫將無(wú)法運(yùn)行,因?yàn)槟J(rèn)值是0。
動(dòng)畫是使元素從一種樣式逐漸變化為另一種樣式的效果。
您可以改變?nèi)我舛嗟臉邮饺我舛嗟拇螖?shù)。
請(qǐng)用百分比來(lái)規(guī)定變化發(fā)生的時(shí)間,或用關(guān)鍵詞 "from" 和 "to",等同于 0% 和 100%。
0% 是動(dòng)畫的開(kāi)始,100% 是動(dòng)畫的完成。
為了得到最佳的瀏覽器支持,您應(yīng)該始終定義 0% 和 100% 選擇器。
當(dāng)動(dòng)畫為 25% 及 50% 時(shí)改變背景色,然后當(dāng)動(dòng)畫 100% 完成時(shí)再次改變:
改變背景色和位置:
下面的表格列出了 @keyframes 規(guī)則和所有動(dòng)畫屬性:
屬性 | 描述 | CSS |
---|---|---|
@keyframes | 規(guī)定動(dòng)畫。 | 3 |
animation | 所有動(dòng)畫屬性的簡(jiǎn)寫屬性,除了 animation-play-state 屬性。 | 3 |
animation-name | 規(guī)定 @keyframes 動(dòng)畫的名稱。 | 3 |
animation-duration | 規(guī)定動(dòng)畫完成一個(gè)周期所花費(fèi)的秒或毫秒。默認(rèn)是 0。 | 3 |
animation-timing-function | 規(guī)定動(dòng)畫的速度曲線。默認(rèn)是 "ease"。 | 3 |
animation-delay | 規(guī)定動(dòng)畫何時(shí)開(kāi)始。默認(rèn)是 0。 | 3 |
animation-iteration-count | 規(guī)定動(dòng)畫被播放的次數(shù)。默認(rèn)是 1。 | 3 |
animation-direction | 規(guī)定動(dòng)畫是否在下一周期逆向地播放。默認(rèn)是 "normal"。 | 3 |
animation-play-state | 規(guī)定動(dòng)畫是否正在運(yùn)行或暫停。默認(rèn)是 "running"。 | 3 |
下面兩個(gè)例子設(shè)置所有動(dòng)畫屬性:
運(yùn)行myfirst動(dòng)畫,設(shè)置所有的屬性:
與上面的動(dòng)畫相同,但是使用了簡(jiǎn)寫的動(dòng)畫 animation 屬性:
更多建議: