CSS transition詳解


我們在做項目時,在進行開發 頁面元素的過渡效果時,經常會用到 CSS 的 transition 屬性,下面針對該屬性進行詳細講解:

 

先舉個例子,我們經常會用到:

.demo {
  width: 100px;
  height: 100px;
  background: #9370DB;
  transiton: width .5s
}
.demo:hover {
  width: 300px;
}

此時, .demo 元素在鼠標經過時, width 屬性由原來的 100px 變為 300px, transition: width  .5s 表示為 ‘width’ 屬性添加 0.5s 的過渡時間,其實 transition 屬性 共有四個參數,此處用到了兩個, 其余兩個元素默認為缺省值。

 

具體參數如下:

參數一: transition-property, 指定需要過渡效果的 CSS 屬性, 也就是上面的例子里的 width 屬性。、

參數二: transition-duration, 指定過渡效果需要指定多少秒或毫秒才能完成, 也就是上面例子里的 0.5s, 即 0.5 秒完成過渡效果。

參數三: transition-timing-function, 指定 transition 效果的轉速曲線, 默認缺省為 ease,具體可選參數如下:

描述
linear 規定以相同速度開始至結束的過渡效果(等於 cubic-bezier(0,0,1,1))。
ease 規定慢速開始,然后變快,然后慢速結束的過渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in 規定以慢速開始的過渡效果(等於 cubic-bezier(0.42,0,1,1))。
ease-out 規定以慢速結束的過渡效果(等於 cubic-bezier(0,0,0.58,1))。
ease-in-out 規定以慢速開始和結束的過渡效果(等於 cubic-bezier(0.42,0,0.58,1))。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函數中定義自己的值。可能的值是 0 至 1 之間的數值。

參數四: transition-delay, 定義 transition 效果開始的時候, 這個相對用的頻率較低。

 

到這里,我們可以給出一個完整的 transition 語句:

transition: width 0.5s ease 0.5s

即 0.5s 后 對 width 屬性進行過渡,過渡效果慢速開始,然后變快,持續時間 0.5s。

 

這里再針對 cubic-bazier(貝澤爾曲線)進行講解,https://cubic-bezier.com/, 我們可以借助現在預覽曲線工具,根據需要設定值,

 

調節 紅、綠兩個按鈕,調整曲線的彎度, 曲線越陡過渡速度越快,相反曲線越平穩,過渡速度越慢。

 

通過自定義的 貝澤爾曲線,實現更多我們想要的過渡效果,也可以通過 在線工具顯示與 預設值得對比,更直觀得調整我們想要的效果。

 

 


免責聲明!

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



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