本教程探討了使用HTML,CSS和JavaScript製作平滑,性能和可維護的逐幀動畫的各種方法。 我們將構建一個眨眼的眼動動畫,逐步完善我們的方法,以在瀏覽器和設備之間取得最佳的結果。
密鑰概念:
translate3d
>本教程使用SVG圖像以實現其可擴展性。 稍後將討論PNG,JPEG和GIF等替代方案。我們將使用jQuery並假設配置了AutoPrefixer。 方法:
更改圖像源:這種簡單的方法涉及動態更改>元素的
屬性。pros:聲明性,圖像保留在適當的位置。 src
>
<img alt="frax by frame動畫教程,帶有CSS和JavaScript" >
requestAnimationFrame
cons:
使用轉換:移動精靈,這是通過使用transform: translateX
而不是background-position
來優化方法3的。 這可以最大程度地減少重新粉刷和倒流。 對於不支持動畫中不支持百分比值的較舊的IE版本需要後備。 translateX
用於硬件加速度。 transform: translate3d(0, 0, 0)
內聯SVG:
性能測試(例如,使用jsperf)表明Sprite-Transform方法(方法4)通常提供最佳的渲染性能。
替代方案:> 如果可伸縮性並不關鍵,則
(由於未以易於使用的格式提供圖像URL,因此未包含圖像URL。用您的實際圖像URL替換佔位符。
以上是frax by frame動畫教程,帶有CSS和JavaScript的詳細內容。更多資訊請關注PHP中文網其他相關文章!