transition
CSS 屬性是 transition-property
, transition-duration
, transition-timing-function
, and transition-delay
的 特性簡寫。
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Transitions 讓你可以定義元件在兩個狀態之間切換的轉場效果。兩個不同狀態可以使用虛擬類別 定義,像是:hover
或 :active
亦或是 使用JavaScript設定的狀態變化。
語法
/* Apply to 1 property */
/* property name | duration */
transition: margin-right 4s;
/* property name | duration | delay */
transition: margin-right 4s 1s;
/* property name | duration | timing function */
transition: margin-right 4s ease-in-out;
/* property name | duration | timing function | delay */
transition: margin-right 4s ease-in-out 1s;
/* Apply to 2 properties */
transition: margin-right 4s, color 1s;
/* Apply to all changed properties */
transition: all 0.5s ease-out;
/* Global values */
transition: inherit;
transition: initial;
transition: unset;
transition
屬性可以包含一個或多個轉場設定,每一項設定都以逗點分開。
每一項設定都描述著每一項屬性所對應的轉場效果(或是all
及 none
這兩個特殊值) 。其包含了:
- 無或一個對應的屬性名稱。可以是:
- 關鍵字
none
- 關鍵字
all
- 以
<custom-ident>
命名的CSS屬性。
- 關鍵字
- 無或一個
<single-transition-timing-function>
表示所使用的漸變函式。 - 無、一個或兩個
<time>
值。第一個值會被指派給transition-duration
, 而第二個則被指派給transition-delay
。
當每個轉場設定不等長時,請參見 當property values list 之間不等長時... 。簡而言之,多餘的描述(超過實際被執行的數量)會直接被忽略。
標準語法
<single-transition>#where
<single-transition> = [ none | <single-transition-property> ] || <time> || <timing-function> || <time>
where
<single-transition-property> = all | <custom-ident>
<timing-function> = linear | <cubic-bezier-timing-function> | <step-timing-function>where
<cubic-bezier-timing-function> = ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number <a href="/zh-TW/docs/CSS/Value_definition_syntax#Brackets" title="Brackets: enclose several entities, combinators, and multipliers to transform them as a single component">[0,1]>, <number>, <number <a href="/zh-TW/docs/CSS/Value_definition_syntax#Brackets" title="Brackets: enclose several entities, combinators, and multipliers to transform them as a single component">[0,1]>, <number>)
<step-timing-function> = step-start | step-end | steps(<integer>[, <step-position>]?)where
<step-position> = jump-start | jump-end | jump-none | jump-both | start | end
範例
CSS 轉場 有更多範例。
規範
Specification | Status | Comment |
---|---|---|
CSS Transitions The definition of 'transition' in that specification. |
Working Draft | Initial definition |
預設值 | as each of the properties of the shorthand: |
---|---|
Applies to | all elements, ::before and ::after pseudo-elements |
繼承與否 | no |
Computed value | as each of the properties of the shorthand:
|
Animation type | discrete |
瀏覽器支援情況
BCD tables only load in the browser