CSSとJavaScriptを使用したフレーム別のフレームアニメーションチュートリアル
このチュートリアルでは、HTML、CSS、およびJavaScriptを使用して、滑らかでパフォーマンスがあり、保守可能なフレームごとのアニメーションを作成するためのさまざまな方法を探ります。 点滅する目のアニメーションを構築し、ブラウザやデバイス全体で最適な結果を達成するためのアプローチを徐々に改良します。
重要な概念:
CSSとJavaScriptを使用したフレームごとのアニメーションテクニックは、それぞれがトレードオフを備えた多様なアプローチを提供します。 SVGのスケーラビリティと応答性により、特に複雑なまたはインタラクティブなアニメーションの場合、GIFよりも優れています。- スプライトベースのアニメーションとCSSキーフレームは、HTTPリクエストを最小限に抑え、レンダリングを改善します。
- CSS変換プロパティ、特にハードウェアアクセラレーション( )では、塗り直しを減らして反射してパフォーマンスを最適化します。
- 適切な手法を選択することは、スケーラビリティ、応答性、パフォーマンス、保守性のニーズに依存します。
- フレームごとのアニメーションとは? Adobeで定義されているように、
- フレームごとのアニメーションには、すべてのフレームのステージコンテンツを変更することが含まれます。 各フレームがユニークな複雑なアニメーションに最適です。 基本的に、一連の画像が動きの幻想を作成します。
このチュートリアルでは、スケーラビリティにSVG画像を使用しています。 PNG、JPEG、GIFなどの代替案については後で説明します。 JQueryを利用して、Autoprefixerが構成されていると仮定します
translate3d
メソッド:
画像の変更ソース:
このシンプルな方法では、要素の
属性を動的に変更することが含まれます。はよりスムーズなアニメーションに使用されますが、初期のjankを防ぐために画像のプリロードが重要です。 プリロードは、画像を背景画像として添加して非表示のdivを追加することで実現されます。
長所:宣言、画像はそのまま残っています。
- cons:
複数のHTTP要求は、初期ページの負荷を遅くすることができます。
このアプローチは、ソースの代わりに画像の不透明度を変更することにより、塗り直しを避けます。 すべての画像はプリロードされているため、パフォーマンスが向上しますが、複数の画像負荷が必要です。src
<img alt="CSSとJavaScriptを使用したフレーム別のフレームアニメーションチュートリアル" >
requestAnimationFrame
画像の変化不透明度:- 長所:メソッド1と比較して、レンダリングパフォーマンスの改善
- cons:まだ複数の画像負荷が必要であり、初期ページの負荷に影響を与える可能性があります。
- スプライト位置の変更:
これは、すべてのアニメーションフレームを含む単一の画像であるCSSスプライトシートを使用します。 CSSアニメーションは、を変更してアニメーションを作成します。
- 長所:単一のhttpリクエスト、javascriptは必要ありません。
- cons:塗り直しはモバイルでJankを引き起こす可能性があります。
-
変換でスプライトを移動:これにより、の代わりに
長所:transform: translateX
を使用してメソッド3を最適化します。 これにより、塗り直しを最小限に抑えて反射します。 アニメーションでパーセンテージ値をサポートしていない古いIEバージョンには、フォールバックが必要です。background-position
は、ハードウェアアクセラレーションに使用されますtranslateX
transform: translate3d(0, 0, 0)
- 単一のHTTPリクエスト、最小化された塗り直しによるモバイルのスムーズなアニメーション。
- cons:ieフォールバックが必要です。
svgのインランス外部ファイルを使用する代わりに、特に再訪確率が低いページでは、初期ページの読み込み時間を改善できます。
パフォーマンスの比較:パフォーマンステスト(たとえば、jsperfの使用)は、スプライト変換法(方法4)が一般的に最高のレンダリングパフォーマンスを提供することを示しています。
代替案:
gif:スケーラビリティが重要でない場合は適切ですが、アニメーションフローの制御がなく、大きくなる可能性があります。
- Canvas:
- 結論:
- 最良の方法は、プロジェクトの要件に依存します。 SVGにスケーラビリティを優先し、パフォーマンスに変換プロパティを使用し、最適な初期負荷時間についてスプライトを検討します。 パフォーマンス、保守性、開発者の親しみやすさのバランスをとる最適なアプローチを選択してください。 (画像URLは、すぐに使用可能な形式で提供されていないため、出力に含まれていません。プレースホルダーを実際の画像URLに置き換えます。
以上がCSSとJavaScriptを使用したフレーム別のフレームアニメーションチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Autoprefixerは、ターゲットブラウザスコープに基づいてCSS属性にベンダープレフィックスを自動的に追加するツールです。 1.エラーで接頭辞を手動で維持する問題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある属性を分析し、構成に従ってコードを生成する属性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辞を手動で追加しない、構成の更新を保持すること、すべての属性ではなくプレフィックスを維持することが含まれ、プリプロセッサでそれらを使用することをお勧めします。

to CreateStickyheadersandfooterswithcss、使用ポジション:Stickyforheaderswithtopvalueandz-index、ParentContainersdon’trestrictit.1.forstickyheaders:Setposition:Sticky、Top:0、Z-Index、およびBackgroundColor.2

TheConic-Gradient()functionsscreateScular勾配の勾配は、測定されていることを確認してください

CSSロード回転子を作成するには3つの方法があります。1。境界の基本回転子を使用して、HTMLとCSSを介してシンプルなアニメーションを実現します。 2。複数のポイントのカスタム回転子を使用して、異なる遅延時間を経てジャンプ効果を実現します。 3.ボタンに回転子を追加し、JavaScriptを介してクラスを切り替えて、読み込みステータスを表示します。各アプローチは、ユーザーエクスペリエンスを向上させるために、色、サイズ、アクセシビリティ、パフォーマンスの最適化などのデザインの詳細の重要性を強調しています。

Mobile-firstcsssdesignRequiresTtingtheviewportatatag、使用、stylumsmallscreensup、optimingTouchTargets.first.second、cecond、em、orreminsteadofpixelseders.ths.thsthird、writebasethirdird、addtocontrolscaling.second、addtocontrolscaling.second

グリッドレイアウト全体をビューポートの中心にするには、次の方法で実現できます。1。マージンを使用して水平センタリングを実現し、固定レイアウトに適した固定幅を設定するためにコンテナを設定する必要があります。 2。FlexBoxを使用して、外側の容器内のJustify-ContentおよびAlign-Itemsプロパティを設定し、Min-Height:100VHを組み合わせて、フルスクリーンディスプレイシナリオに適した垂直および水平センタリングを実現します。 3. CSSGridのPlace-ITEMSプロパティを使用して、親コンテナをすばやく中央に集中させます。これは、シンプルで最新のブラウザからの適切なサポートがあり、同時に、親コンテナが十分な高さを確保する必要があります。各方法には、適用されるシナリオと制限があります。実際のニーズに応じて適切なソリューションを選択するだけです。

本質的な応答性のあるグリッドレイアウトを作成するために、COREメソッドはCSSGridのRepeat(auto-fit、minmax())モードを使用することです。 1.グリッドテンプレートコラムの設定:繰り返し(Auto-Fit、MinMax(200PX、1FR))繰り返して、ブラウザが列の数を自動的に調整し、各列の最小幅と最大幅を制限します。 2。ギャップを使用してグリッド間隔を制御します。 3.コンテナは、幅などの相対ユニットに設定する必要があります。100%、およびボックスサイズを使用してください。幅の計算エラーを回避し、マージンで中央に配置する必要があります。 4.オプションで、行の高さとコンテンツのアライメントを設定して、行などの視覚的な一貫性を向上させます

featuredEtectionincssusing@supportscheckcksifabrowssaspificfeatureforeapplyingStyles.1.itusesconditionalcssalcssbasedsbasedonproperty-valuepairsなど、supports(display:grid).2.thismethodensuresuresuresuresuresurecompativitionivitionivitionaindavoidavoidsrioushsriasiondrell
