ホームページ >ウェブフロントエンド >CSSチュートリアル >CSSとJavaScriptを使用したフレーム別のフレームアニメーションチュートリアル
このチュートリアルでは、HTML、CSS、およびJavaScriptを使用して、滑らかでパフォーマンスがあり、保守可能なフレームごとのアニメーションを作成するためのさまざまな方法を探ります。 点滅する目のアニメーションを構築し、ブラウザやデバイス全体で最適な結果を達成するためのアプローチを徐々に改良します。
重要な概念:
CSSとJavaScriptを使用したフレームごとのアニメーションテクニックは、それぞれがトレードオフを備えた多様なアプローチを提供します。 SVGのスケーラビリティと応答性により、特に複雑なまたはインタラクティブなアニメーションの場合、GIFよりも優れています。translate3d
画像の変更ソース:
このシンプルな方法では、要素の
属性を動的に変更することが含まれます。はよりスムーズなアニメーションに使用されますが、初期のjankを防ぐために画像のプリロードが重要です。 プリロードは、画像を背景画像として添加して非表示のdivを追加することで実現されます。
長所:宣言、画像はそのまま残っています。
複数のHTTP要求は、初期ページの負荷を遅くすることができます。
src
<img alt="CSSとJavaScriptを使用したフレーム別のフレームアニメーションチュートリアル" >
requestAnimationFrame
画像の変化不透明度:
これは、すべてのアニメーションフレームを含む単一の画像であるCSSスプライトシートを使用します。 CSSアニメーションは、を変更してアニメーションを作成します。
変換でスプライトを移動:これにより、の代わりにtransform: translateX
を使用してメソッド3を最適化します。 これにより、塗り直しを最小限に抑えて反射します。 アニメーションでパーセンテージ値をサポートしていない古いIEバージョンには、フォールバックが必要です。 background-position
は、ハードウェアアクセラレーションに使用されます
translateX
transform: translate3d(0, 0, 0)
パフォーマンスの比較:パフォーマンステスト(たとえば、jsperfの使用)は、スプライト変換法(方法4)が一般的に最高のレンダリングパフォーマンスを提供することを示しています。
代替案:
gif:スケーラビリティが重要でない場合は適切ですが、アニメーションフローの制御がなく、大きくなる可能性があります。
以上がCSSとJavaScriptを使用したフレーム別のフレームアニメーションチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。