CSS animation-timing-function 屬性
更多“自己嘗試”的例子見下文。
定義和用法
animation-timing-function
屬性定義了一個動畫的速度曲線。
速度曲線定義了一個動畫從一組 CSS 樣式改變到另一組 CSS 樣式所花費的**時間**。
速度曲線用於平滑地實現更改。
預設值 | ease |
---|---|
繼承 | no |
可動畫 | 否。 閱讀關於可動畫屬性 |
版本 | CSS3 |
JavaScript 語法 | object.style.animationTimingFunction="linear" 嘗試一下 |
瀏覽器支援
表中的數字指定了完全支援該屬性的第一個瀏覽器版本。
屬性 | |||||
---|---|---|---|---|---|
animation-timing-function | 43 | 10 | 16 | 9 | 30 |
CSS 語法
animation-timing-function: linear|ease|ease-in|ease-out|ease-in-out|step-start|step-end|steps(int,start|end)|cubic-bezier(n,n,n,n)|initial|inherit;
animation-timing-function
使用一個稱為三次貝塞爾曲線的數學函式來建立速度曲線。您可以在此函式中使用自己的值,也可以使用預定義值之一。
屬性值
值 | 描述 | 演示 |
---|---|---|
linear | 動畫從開始到結束的速度都相同 | 試一試 » |
ease | 預設值。動畫開始時速度慢,然後加速,最後變慢 | 試一試 » |
ease-in | 動畫開始時速度慢 | 試一試 » |
ease-out | 動畫結束時速度慢 | 試一試 » |
ease-in-out | 動畫開始和結束時速度都慢 | 試一試 » |
step-start | 等同於 steps(1, start) | |
step-end | 等同於 steps(1, end) | |
steps(int,start|end) | 指定一個步進函式,有兩個引數。第一個引數指定函式中的間隔數。它必須是一個正整數(大於 0)。第二個引數是可選的,可以是 "start" 或 "end" 值,並指定值在間隔內發生變化的點。如果省略第二個引數,則預設為 "end"。 | |
cubic-bezier(n,n,n,n) | 在 cubic-bezier 函式中定義您自己的值 可能的值是 0 到 1 之間的數字 |
|
initial | 將此屬性設定為其預設值。閱讀關於initial | |
inherit | 從其父元素繼承此屬性。閱讀關於inherit |
提示:在下面的“更多示例”部分嘗試不同的值。
更多示例
示例
為了更好地理解不同的 timing function 值;
以下是五個不同的 <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;}
自己動手試一試 »
示例
與上面的示例相同,但速度曲線使用 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 教程:CSS 動畫
HTML DOM 參考:animationTimingFunction 屬性