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 屬性