css3動畫(@keyframes和animation的用法)


animation基本用法是:

animation: name keeping-time animate-function delay times iteration final;

第一個參數:name (animation-name):

動畫的名字,即設定動畫過程的名字,CSS3采用“關鍵幀 keyframes”來定義動畫,方式形如:

@-webkit-keyframes name{ 0%{ opacity: 0; } 100%{ opacity: 1; } }

前綴-webkit-表示webkit內核瀏覽器(Chrome、Safari和變心的opera),以上代碼定義了一個動畫,名叫name,效果是使透明度從0變化到1,0%~100%為整個過程,當然也可以定義多段如:0%~20~50%~100%。

第二個參數:keeping-time (animation-duration):

整個動畫的持續時間,必須帶上時間單位,s或者ms均可;

第三個參數:animate-function (animation-timing-function):

運動方式(動畫方式)的貝賽爾曲線,可取值為:ease、ease-in、ease-out、linear、ease-in-out、cubic-bezier(num1,num2,num3,num4)。

第四個參數:delay (animation-delay):

動畫延遲執行的時間,單位也是s或者ms,值得注意的是,即使延遲時間為0,也必須加上時間單位,如果寫成直接寫成0,在Chrome和Safari(webkit)下是沒問題的,但是在FF(gecko)下無效。

第五個參數:times (animation-iteration-count):

動畫循環執行的次數,無單位,infinite為無限循環。

第六個參數:iteration (animation-direction):

如果動畫循環,循環的方式是:alternate(偶數次向前播放,奇數次向后播放)、normal(每次都向前播放)。

第七個參數:final (animation-fill-mode):

動畫的最后(達到100%)時的狀態,取值有:backward(回到初始狀態)、forwards(停在最終狀態)、none、both。

  

 

 屬性值

效果

none

默認值,表示動畫將按預期進行和結束,在動畫完成其最后一幀時,動畫會反轉到初始幀處

forwards

表示動畫在結束后繼續應用最后的關鍵幀的位置

backwards

會在向元素應用動畫樣式時迅速應用動畫的初始幀

both

元素動畫同時具有forwards和backwards效果

每個參數也可以單獨寫,最后用的時候記得加瀏覽器前綴:

.classname{ -webkit-animation:name 6s linear 0ms infinite normal forwards; -moz-animation:name 6s linear 0ms infinite normal forwards; -o-animation:name 6s linear 0ms infinite normal forwards; animation:name 6s linear 0ms infinite normal forwards; }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM