動畫keyframes,animation-name,animation-duration,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,animate-play-state,animation-fill-mode

還可以參考這篇:http://www.cnblogs.com/shenfangfang/p/5713564.html

(一)

keyframes被稱為關鍵幀,其類似于Flash中的關鍵幀。在CSS3中主要以“@keyframes”開頭,后面緊跟著是動畫名稱加上一對花括號“{...}”,括號中就是一些不同時間段樣式規則。

@keyframes changecolor{

0%{

background: red;

}

100%{

background: green;

}

}

在一個“@keyframes”中的樣式規則可以由多個百分比構成的,如在“0%”到“100%”之間創建更多個百分比,分別給每個百分比中給需要有動畫效果的元素加上不同的樣式,從而達到一種在不斷變化的效果。

經驗與技巧:在@keyframes中定義動畫名稱時,其中0%和100%還可以使用關鍵詞from和to來代表,其中0%對應的是from,100%對應的是to。

(二)調用動畫

animation-name屬性主要是用來調用@keyframes定義好的動畫。需要特別注意:animation-name調用的動畫名需要和“@keyframes”定義的動畫名稱完全一致(區分大小寫),如果不一致將不具有任何動畫效果。

語法:

animation-name:none | IDENT;

1.IDENT是由@keyframes創建的動畫名,上面已經講過了(animation-name調用的動畫名需要和“@keyframes”定義的動畫名稱完全一致);

2.none為默認值,當值為none時,將沒有任何動畫效果,這可以用于覆蓋任何動畫。

注意:需要在Chrome和Safari上面的基礎上加上-webkit-前綴,Firefox加上-moz-

(三)設置動畫播放時間

animation-duration主要用來設置CSS3動畫播放時間,其使用方法和transition-duration類似,是用來指定元素播放動畫所持續的時間長,也就是完成從0%到100%一次動畫所需時間。單位:S秒

語法規則

animation-duration:<time>[,<time>]*

取值<time>為數值,單位為秒,其默認值為“0”,這意味著動畫周期為"0",也就是沒有動畫效果(負值被視為“0”)。

(三)設置動畫播放方式

animation-timing-function屬性主要用來設置動畫播放方式。主要讓元素根據時間的推進來改變屬性值的變換速率,簡單點說就是動畫的播放方式。

語法規則:

animation-timing-function:ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>,<number>,<number>,<number>) [, ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>,<number>,<number>,<number>)]*

animation-timing-function 使用名為三次貝塞爾(Cubic Bezier)函數的數學函數,來生成速度曲線。您能夠在該函數中使用自己的值,也可以預定義的值:

在 cubic-bezier 函數中自己的值。可能的值是從 0 到 1 的數值。

(四)設置動畫開始播放的時間

animation-delay屬性用來定義動畫開始播放的時間,用來觸發動畫播放的時間點。和transition-delay屬性一樣,用于定義在瀏覽器開始執行動畫之前等待的時間。

語法規則:

animation-delay:[,]*

(五)設置動畫播放次數

animation-iteration-count屬性主要用來定義動畫的播放次數。語法規則

語法規則:

animation-iteration-count:infinite | <number>[,infinite | <number>]*

1.其值通常為整數,但也可以使用帶有小數的數字,其默認值為1,這意味著動畫將從開始到結束只播放一次。

2.如果取值為infinite,動畫將會無限次播放。

(六)設置動畫播放方向

animation-direction屬性主要用來設置動畫播放方向,其語法規則如下:

animation-direction:normal | alternate[,normal | alternate]*

其主要有兩個值:normal,alternate

1.normal是默認值,如果設置為normal時,動畫的每次循環都是向前播放。

2.另一個值是alternate,他的作用是,動畫播放在第偶數次按逆序播放,第奇數次正常播放。

(七)設置動畫的播放狀態

animate-play-state屬性主要用來控制元素動畫的播放狀態

參數:

主要有兩個值:running和paused

其中running是其默認值,主要作用就是類似于音樂播放器一樣,可以通過paused將正在播放的動畫停下來,也可以通過running將暫停的動畫重新播放,這里的重新播放不一定是從元素動畫的開始播放,而是從暫停的那個位置開始播放。另外,如果元素動畫結束后,元素的樣式將回到最原始設置狀態。

(八)設置動畫時間外屬性

animation-fill-mode屬性定義在動畫開始之前和結束之后發生測操作。主要具有四個屬性值:none、forwards、backwords和both.其四個屬性值對于效果如下:

在默認情況之下,動畫不會影響它的關鍵幀之外的屬性,使用animation-fill-mode屬性可以修改動畫的默認行為。簡單的說就是告訴動畫在第一關鍵幀上等待動畫開始,或者在動畫結束時停在最后一個關鍵幀上而不回到動畫的第一幀上。或者同時具有這兩個效果。

none(默認,回到動畫沒開始時的狀態。)

forwards(動畫結束后動畫停留在結束狀態)

backwords(動畫回到第一幀的狀態)

both(根據animation-direction輪流應用forwards和backwards規則)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 1,806評論 0 2
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,340評論 0 11
  • 變形--旋轉 rotate() 旋轉rotate()函數通過指定的角度參數使元素相對原點進行旋轉。它主要在二維空間...
    阿振_sc閱讀 947評論 1 5
  • 看了很多視頻、文章,最后卻通通忘記了,別人的知識依舊是別人的,自己卻什么都沒獲得。此系列文章旨在加深自己的印象,因...
    DCbryant閱讀 1,896評論 0 4
  • animation簡介? animation無疑是CSS3里最牛的功能。可以采用較少的代碼制作超炫的動畫。? an...
    柒月柒日晴7閱讀 470評論 0 2