CSS3使用transition屬性實現過渡效果


transition屬性目的是讓css的一些屬性(如background)的以平滑過渡的效果出現。它是一個合並屬性,是由以下四個屬性組合而成:

  • transition-property:設置應用過渡的CSS屬性,如background。
  • transition-duration:設置過渡效果花費的時間。默認是 0。
  • transition-timing-function:設置過渡效果的時間曲線。默認是 "ease"。
  • transition-delay:規定過渡效果何時開始。默認是 0。

示例:

?
1
2
3
4
button{
    transition: background 1 s;
    -webkit-transition: background 1 s; /* Safari */
}

定義transition屬性時,transition-property和transition-duration是必選,其他兩個為可選。

transition-property和transition-duration css3動畫

transition-property用來指定應用過渡效果的CSS屬性,這些屬性包括(可能不全):

  • width
  • height
  • color
  • background (color, image, position)
  • transform (in the next post)
  • border (color, width)
  • position (top, bottom, left, right )
  • text (size, weight, shadow, word-spacing)
  • margin
  • padding
  • opacity
  • visibility
  • z-index
  • all

transition-duration屬性用來設置指定屬性的過渡效果花費時間,可以是秒(s)或者毫秒(ms)。

transition-delay和transition-timing-function

transition-delay用來設置過渡效果開始的時間,默認為0,可以是秒(s)或者毫秒(ms)css3鼠標經過。如果transition-delay是負數,表示過渡效果提前開始。

transition-timing-function用來設置過渡的效果,這些效果包括:

  • ease - 開始慢,中間快,結束慢
  • ease-in - 漸入效果,慢入快出
  • ease-out - 漸出效果,快入慢出.
  • ease-in-out - 開始慢和結束慢
  • cubic-bezier(n,n,n,n) - 在 cubic-bezier 函數中定義自己的值。可能的值是 0 至 1 之間的數值

示例:

?
1
2
3
4
button{
   transition: background 1 s ease-in-out 2 s;
   -webkit-transition: background 1 s ease-in-out 2 s; /* Safari */
}

多屬性

對於多個屬性,各個屬性的效果以逗號隔開:

?
1
2
3
4
button{
    transition: background 1 s ease-in-out 2 s, width 2 s linear;
    -webkit-transition: background 1 s ease-in-out 2 s, width 2 s linear; /* Safari */
  }

兼容性

Internet Explorer 10、Firefox、Opera 和 Chrome 支持 transition 屬性。

Safari 支持替代的 -webkit-transition 屬性。

Internet Explorer 9 以及更早版本的瀏覽器不支持 transition 屬性。

觸發

需要注意的是,過渡效果是需要之前已經定義好了屬性,過渡效果通過觸發來應用,比如:hover, :focus, and :active等。


免責聲明!

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



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