CSS3 Transition介紹


CSS3提供了一種全新的方式來定義CSS屬性改變時的過渡效果,通常在:hover、:focus的條件下觸發。過去,為了實現這種平滑的過渡效果,我們需要借助於Flash技術,現在只需要簡單的使用CSS3 Transition的方法,就可以實現。Transition的效果,可以廣泛的應用在background-color、width、height、opacity等屬性發生改變時。目前,CSS3 Transition模塊還在草案階段,所以規范和語法還未完全確定下來,目前也並不是所有的瀏覽器支持CSS3,所以還需要一些特殊的代碼來實現多瀏覽器的兼容。

 

下面用一個簡單的例子來說明CSS3 Transition的效果:

 
Example 1: 沒有過渡效果

Example 2: 5秒鍾的過渡效果

 

CSS3 Transition的語法:

transition: <transition> [, <transition>]*

<transition> = <transition-property> <transition-duration> <transition-timing-function> <transition-delay>

這種寫法是比較簡單的寫法,我們可以同時寫多個Transition效果,每個效果按照固定屬性的順序書寫。如下

transition:left 3s linear, background-color 3s ease;

transition的屬性包括:需要應用的屬性transition-property、Transition的時間transition-duration、時間函數transition-timing-function、延遲時間(可選參數)transition-delay。這些屬性也可以單獨的指定,分別介紹如下:

transition-property

transition-property:none | all | [ <IDENT> ] [, <IDENT> ]*

如果使用all關鍵字或者省略了transition-property,那么所有發生變化的屬性都會應用transition,如果使用none關鍵字,則不會有transition效果。如果指定了多個屬性,那么在其他的transition-*屬性中,也需要按照對應的順序指定。所有支持Transition的屬性,可以在3中看到。

transition-duration

這個屬性接受以逗號分割的一系列數值,表示Transition持續的時間,接受2s或者2000ms的形式。默認值為0,表示Transition立即生效。

transition-duration: <time> [, <time> ]*

transition-timing-function

這個屬性指定transition的效果,可以通過預定義的函數來實現(ease、linear、ease-in、ease-out、ease-in-out),也可以自己指定函數。

transition-timing-function:<timing-function> [, <timing-function>]*

下面看一下預定義的函數的效果

ease
linear
ease-in
ease-out
ease-in-out

transition-delay

這個是一個可選屬性,可以用來制定在多長時間后觸發transition,默認是0.

transition-delay: <time> [, <time> ]*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM