animation(動畫):animation屬性是一個簡寫屬性
animation-name:屬性為@keyframes動畫規(guī)定名稱;
animation-duration規(guī)定完成動畫所花費(fèi)的時間;
-
animation-timing-function:規(guī)定動畫的速度曲線:
1,linear 動畫從頭到尾的速度是相同的。 2,ease 默認(rèn)值。動畫以低速開始,然后加快,在結(jié)束前變慢。 3,ease-in 動畫以低速開始。 4,ease-out 動畫以低速結(jié)束。 5,ease-in-out 動畫以低速開始和結(jié)束。 6,cubic-bezier(n,n,n,n) 在 cubic-bezier 函數(shù)中自己的值。可能的值是從 0 到 1 的數(shù)值。
#######前面的6個屬性值都是根據(jù)三次貝塞爾曲線來生成速度曲線,產(chǎn)生的動畫效果也是線性動畫,動畫的效果是具有連貫性的;
animation-timing-function還有steps()函數(shù),這個steps()函數(shù)是干嘛的呢,animation默認(rèn)以ease方式過渡,它會在每個關(guān)鍵幀之間插入補(bǔ)間動畫,所以動畫的效果是連貫性的,像其他基于貝塞爾曲線設(shè)置的都是連貫的,但是有些效果我們不需要補(bǔ)間動畫,我們只需要關(guān)鍵幀的跳躍,這時候我們就該使用steps()過渡方式;
steps()我們又把它成為幀動畫,對于關(guān)鍵幀動畫來說,timing function作用于一個關(guān)鍵幀周期而非整個動畫周期,即從關(guān)鍵幀開始開始,到關(guān)鍵幀結(jié)束結(jié)束。
steps函數(shù)指定了一個階躍函數(shù)
第一個參數(shù)指定了時間函數(shù)中的間隔數(shù)量(必須是整數(shù))
第二個參數(shù)可選,接受start和end兩個值,指定指定在每個間隔的起點(diǎn)或是終點(diǎn)發(fā)生階躍變化,默認(rèn)為 end。
step-start等同于steps(1,start),動畫分成1步,動畫執(zhí)行時為開始左側(cè)端點(diǎn)的部分為開始;
step-end等同于steps(1,end):動畫分成一步,動畫執(zhí)行時以結(jié)尾端點(diǎn)為開始,默認(rèn)值為end。
幀動畫.png
animation-delay:規(guī)定動畫何時開始,默認(rèn)值是0;
animation-iteration-count:規(guī)定動畫播放的次數(shù),默認(rèn)值是1,可以是小數(shù),不可以是負(fù)數(shù),infinite規(guī)定動畫無限循環(huán)播放;
-
animation-direction屬性設(shè)置動畫是否反向播放:
1,normal:每個循環(huán)內(nèi)動畫向前循環(huán),換言之,每個動畫循環(huán)結(jié)束,動畫重置到起點(diǎn)重新開始,這是默認(rèn)屬性。 2,alternate:動畫會在奇數(shù)次數(shù)(1、3、5 等等)正常播放,而在偶數(shù)次數(shù)(2、4、6 等等)向后播放。如果設(shè)置動畫播放一次,該屬性沒有作用; 3,reverse:反向運(yùn)行動畫,每周期結(jié)束動畫由尾到頭運(yùn)行。 4,alternate-reverse:動畫第一次運(yùn)行時是反向的,然后下一次是正向,后面依次循環(huán)。決定奇數(shù)次或偶數(shù)次的計(jì)數(shù)從1開始。
-
animation-fill-mode用來指定在動畫執(zhí)行之前和之后如何給動畫的目標(biāo)應(yīng)用樣式:
1,none:動畫執(zhí)行前后不改變?nèi)魏螛邮? 2,forwards:保持最后一幀的狀態(tài); 3,backwards:保持第一幀的狀態(tài); 4,both:動畫將會執(zhí)行 forwards 和 backwards 執(zhí)行的動作;
-
animation-play-state定義一個動畫是否運(yùn)行或者暫停。可以通過查詢它來確定動畫是否正在運(yùn)行。另外,它的值可以被設(shè)置為暫停和恢復(fù)的動畫的重放,恢復(fù)一個已暫停的動畫,將從它開始暫停的時候,而不是從動畫序列的起點(diǎn)開始在動畫。這個屬性需要觸發(fā)條件 :
1,running:當(dāng)前動畫正在運(yùn)行。 2,paused:當(dāng)前動畫以被停止。