CSS animation-timing-function 屬性

定義和用法

animation-timing-function 規定動畫的速度曲線。

速度曲線定義動畫從一套 CSS 樣式變為另一套所用的時間。

速度曲線用于使變化更為平滑。

另請參閱:

CSS3 教程:CSS 動畫

HTML DOM 參考手冊:animationTimingFunction 屬性

實例

實例 1

從開頭到結尾以相同的速度來播放動畫:

div
{
animation-timing-function:2s;
}

親自試一試

實例 2

為了更好地理解不同的定時函數值,這里提供了設置五個不同值的五個不同的 div 元素:

#div1 {animation-timing-function: linear;}
#div2 {animation-timing-function: ease;}
#div3 {animation-timing-function: ease-in;}
#div4 {animation-timing-function: ease-out;}
#div5 {animation-timing-function: ease-in-out;}

親自試一試

實例 3

與上例相同,但是通過 cubic-bezier 函數來定義速度曲線:

#div1 {animation-timing-function: cubic-bezier(0,0,1,1);}
#div2 {animation-timing-function: cubic-bezier(0.25,0.1,0.25,1);}
#div3 {animation-timing-function: cubic-bezier(0.42,0,1,1);}
#div4 {animation-timing-function: cubic-bezier(0,0,0.58,1);}
#div5 {animation-timing-function: cubic-bezier(0.42,0,0.58,1);}

親自試一試

CSS 語法

animation-timing-function: value;

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

描述 測試
linear 動畫從頭到尾的速度是相同的。 測試
ease 默認。動畫以低速開始,然后加快,在結束前變慢。 測試
ease-in 動畫以低速開始。 測試
ease-out 動畫以低速結束。 測試
ease-in-out 動畫以低速開始和結束。 測試
cubic-bezier(n,n,n,n) 在 cubic-bezier 函數中自己的值。可能的值是從 0 到 1 的數值。

提示:請試著在下面的“親自試一試”功能中使用不同的值。

技術細節

默認值: ease
繼承性: no
版本: CSS3
JavaScript 語法: object.style.animationTimingFunction="linear"

瀏覽器支持

表格中的數字注明了完全支持該屬性的首個瀏覽器版本。

帶 -webkit-、-moz- 或 -o- 的數字表示使用前綴的首個版本。

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
43.0
4.0 -webkit-
10.0 16.0
5.0 -moz-
9.0
4.0 -webkit-
30.0
15.0 -webkit-
12.0 -o-