懸停時強製完成 CSS3 動畫
將 CSS3 動畫應用於 :hover 狀態時,動畫在退出元素時突然停止。這種行為可能是不可取的,特別是對於需要執行特定次數的迭代的動畫。要解決此問題,請考慮以下策略:
使用 JavaScript:
最直接的解決方案是使用 JavaScript 強制動畫完成。這可以透過事件偵聽器動態新增和刪除動畫類別來實現。
$(".element").hover( function() { $(this).addClass("animation-name"); }, function() { $(this).removeClass("animation-name"); } );
利用CSS 關鍵影格:
雖然目前沒有純CSS 解決方案直接強制懸停動畫完成,一種技術涉及創建一個超出懸停動畫範圍的虛擬關鍵影格持續時間。
@keyframes bounce { ... (Original animation keyframes) ... 99% { transform: translate(0, 0); } 100% { transform: translate(0, 0); } }
透過稍微延長關鍵影格持續時間,即使在懸停狀態結束後,動畫也會繼續完成。
潛在警告:
需要注意的是,在某些情況下強制動畫完成可能會引入視覺偽影。例如,如果動畫包含旋轉元素,當滑鼠退出該元素時,可能會發生突然停止或跳躍。
以上是如何強製完成 CSS3 懸停動畫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!