在 Web 開發中,把動效加入網頁會使頁面更加生動,也會增加用戶交互的樂趣。而 CSS 動畫又是一種相當受歡迎的動畫方式,通過對樣式的改變展現動畫效果。在設計動畫的過程中,速度的改變也是一種常用的技巧,下面我們就來介紹如何實現從快到慢的 CSS 動畫。
在 CSS 中,可以使用@keyframes
關鍵詞定義一個動畫的關鍵幀,并通過animation
屬性將它應用于元素上:
.box{ animation: myAnimation 2s ease-in-out; } @keyframes myAnimation{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); } }
其中,animation
屬性用來指定動畫的名字、持續時間和時間曲線。在這個例子中,我們要實現的是從快到慢的旋轉動畫,因此我們需要使用一個非常流行的時間曲線——ease-in-out
。
接下來,我們就可以通過改變動畫的時間值來實現從快到慢的動畫效果。在這個例子中,我們將動畫的持續時間設置為2秒,我們可以通過將時間線拉長、或者是將關鍵幀依次排列來實現不同速度的效果:
.box{ animation: myAnimation 6s ease-in-out; } @keyframes myAnimation{ 0%{ transform: rotate(0deg); } 20%{ transform: rotate(180deg); } 50%{ transform: rotate(360deg); } 80%{ transform: rotate(540deg); } 100%{ transform: rotate(720deg); } }
在這個例子中,我們將 2 秒的動畫時間分成了 5 個階段,其中 0% 到 20% 為加速階段,20% 到 50% 為勻速階段,50% 到 80% 為減速階段,80% 到 100% 再次加速。這樣,我們就創建了一個從快到慢的旋轉動畫。
在實際開發過程中,我們可以根據需求自由加入各種時間曲線,實現不同的速度效果。通過使用 CSS 動畫,可以讓網頁更加豐富多彩,同時也能增加用戶的體驗感。
上一篇CSS動畫的left
下一篇css動畫的性能