在製作自定義動畫時,有以下八個樣式可供選擇:
animation-name(動畫名稱
):元素所應用的動畫名稱,必須與規則
@keyframes
配合使用,因為動畫名稱由
@keyframes
定義。animation-duration(動畫時間
):設定物件動畫的持續時間
animation-timing-function(動畫的過渡速度
):設定物件動畫的過渡速度型別
animation-delay(動畫延遲時間
):設定物件動畫的延遲時間
animation-iteration-count(動畫執行次數
):設定物件動畫的延遲時間
animation-direction(動畫的順序
):設定物件動畫在迴圈中是否按照相反順序執行
animation-play-state(動畫的狀態
)animation-fill-mode(動畫時間之外的狀態
)在定義了這些動畫的基本屬性之後,我們製作動畫還需要制定動畫的關鍵幀keyframes;
其用法為
@keyframes ] [,*]}
通過動畫名稱來確定是哪乙個元素要產生動畫,通過時間段內特殊點的樣式來使得動畫效果符合預期。
例:
*.box
@keyframes fly
100%
}
通過以上設定,我們便做出了乙個簡單的平移動畫效果,想要讓動畫的效果更佳多樣化,則必須對動畫中的各個屬性有更佳詳盡的了解。
animation-timing-function的語法如下:
animation-timing-function: ease | linear | ease-in | ease-out | ease-in-out
其各個屬性值都是描述動畫的快慢效果,預設值為ease。
animation-delay設定的是動畫的延遲,即在多長時間後,動畫效果開始執行。
例:
.box@keyframes fly
100%
}
animation-iteration-count:
infinite |
animation-iteration-count表示動畫執行的次數,若其值區為
infinite
,則表示動畫會無限次執行。
例:
.box@keyframes fly
100%
}
animation-direction:
normal | reverse | alternate | alternate-reverse
表示動畫執行的放向及方式,例:
.box@keyframes fly
100%
}.alternate
.alternate-reverse
.reverse
通過上述**的效果,我們可以看出其各個屬性值所表示的動畫方向及效果。
animation-play-state:
running | paused
表示動畫的狀態,暫停還是執行。
例:
.box@keyframes fly
100%
}.box:hover
.box:active
在上述例子中,滑鼠移入時,動畫暫停,移出時動畫繼續。在任何動畫效果停止的狀態,用滑鼠點選元素,動畫進行。
animation-fill-mode :
none | forwards | backwards | both
設定物件動畫時間之外的狀態:
none:預設值。不設定物件動畫之外的狀態
forwards:設定物件狀態為動畫結束時的狀態(
@keyrames
中100%
時各個屬性值所描述的狀態)
backwards:設定物件狀態為動畫開始時的狀態(
@keyrames中0%
時各個屬性值所描述的狀態)
both:設定物件狀態為動畫結束或開始的狀態
例:
.box@keyframes fly
100%
}
我們也可以將上述的動畫簡寫:
animation:
[ animation-name ] || [ animation-duration ] || [ animation-timing-function ] || [ animation-delay ] || [animation-iteration-count ] || [ animation-direction ] || || [ ,*]
則,上述的例子可寫為:
.box@keyframes fly
100%
}
CustomAnim自定義動畫
android只提供了4種基本動畫效果,除了可以疊加效果外,我們還可以進行自定義動畫。mainactivity.class不變 package com.customanim.customanim import android.os.bundle import android.view.view pu...
自定義動畫效果
demotitle charset utf 8 src bootstrap js jquery.min.js script div1 style head animateh2 params,speed easing fn p 用於建立自定義動畫的函式。這個函式的關鍵在於指定動畫形式及結果樣式屬性物件...
自定義CALayer動畫
當我們需要區實現乙個layer的時候,並且需要為其新增乙個屬性動畫的時候,我們需要有這麼幾步操作 首先,我們需要去繼承乙個calayer類,同時實現以下的幾個方法 bool needsdisplayforkey nsstring key 方法來判斷當前屬性改變是否需要重新繪製。如果想實現自定義動畫就...