ホームページ >ウェブフロントエンド >CSSチュートリアル >CSSアニメーションを始める方法
CSSアニメーション:CSS遷移を超えた動的効果
CSSアニメーションは、CSSトランジションの高度なバージョンであり、キーフレームを使用して複雑なエフェクトを作成し、アニメーション再生中に一時停止することができます。この記事では、CSSアニメーションのあらゆる側面を検討して、この強力なWebデザインテクノロジーを簡単に習得できます。
CSSアニメーションの作成:キーフレームとアニメーションプロパティ
CSSアニメーションを作成するには、最初にアニメーション名を指定し、キーフレームルールをグループ化する@keyframes
ルールを定義する必要があります。次に、ターゲット要素にアニメーションを適用します。
CSSアニメーションは、animation-delay
(アニメーション遅延)、animation-duration
(アニメーションの持続時間)、animation-name
(アニメーション名)、animation-timing-function
(アニメーションタイミング関数)など、さまざまな属性を通じて制御できます。 >(アニメーションの反復の数)、animation-iteration-count
(アニメーションの方向)、animation-direction
(アニメーション再生ステータス)、およびanimation-play-state
(アニメーションフィルモード)。 animation-fill-mode
アニメーションコントロール:一時停止とループ
属性を使用して、アニメーションを一時停止します。 animation-play-state
プロパティをanimation-iteration-count
に設定すると、無限のループを実現できます。 infinite
パフォーマンスとアクセシビリティ:慎重にアニメーションを使用してください
CSSアニメーションはユーザーエクスペリエンスを向上させることができますが、たとえば、特定の病気の患者がアニメーションからめまいや吐き気を経験する可能性があるため、アクセシビリティのリスクをもたらす可能性があるため、注意して使用する必要があります。感光性てんかんのある人に使用される可能性。さらに、アニメーションのパフォーマンスもアニメーションプロパティの影響を受け、一部のプロパティはリフローまたは再描画をトリガーする可能性があり、その結果、低パフォーマンスデバイスのパフォーマンスが低下します。
アニメーションとトランジションの違い:重要な違い
CSSアニメーションと姉妹技術CSSの移行にはいくつかの重要な違いがあります:
ブラウザの互換性:主流のブラウザーサポート
すべての主流ブラウザの最新バージョンは、CSSアニメーションをサポートしています。 Firefox 15以前はプレフィックスが必要です。 Internet Explorer 10および11、およびMicrosoft Edgeのすべてのバージョンも、接頭辞付きアニメーションをサポートしています。 -moz-
検出アニメーションサポート:javaScriptメソッド
CSSアニメーションサポートは、さまざまな方法で検出できます。最初の方法は、window
オブジェクトのCSSKeyframeRule
メソッドが存在するかどうかをテストすることです。
<code class="language-javascript">const hasAnimations = 'CSSKeyframeRule' in window;</code>ブラウザが
ルールと@supports
APIをサポートしている場合、次の方法を使用できます。
CSS.supports()
<code class="language-javascript">const hasAnimations = CSS.supports('animation-duration: 2s');</code>最初のアニメーションを作成します:キーフレームルールとアニメーションアプリケーション最初に、ルールを使用してアニメーションを定義します。 ルールには2つの関数があります
アニメーション名@keyframes
を設定します
@keyframes
グループキーフレームルール
pulse
<code class="language-css">@keyframes pulse { from { transform: scale(0.5); opacity: .8; } to { transform: scale(1); opacity: 1; } }</code>アニメーション属性の詳細な説明:アニメーション効果を慎重に制御する
<code class="language-css">.pulse { animation: pulse 500ms; }</code>
shorthand属性を使用することはより単純ですが、長い形式の属性を使用することが明確になる場合があります。以下は、長い形式のアニメーションプロパティです
animation-delay
0S
(今すぐ実行)アニメーション期間
0S
(アニメーションなし) animation-name
なし
アニメーション - ティミングファンクション
ease
Animation-Iteration-Count
1
animation-direction
通常
(逆ではない) animation-play-state
実行中
animation-fill-mode
なし
ループアニメーション:Animation-Iteration-Count Attribution
animation-iteration-count
プロパティをinfinite
に設定すると、アニメーションループを無限にすることができます。
アニメーションの方向:アニメーション方向属性
animation-direction
属性は、アニメーションの再生方向を制御するために使用される4つの値の4つの値を受け入れます。 normal
reverse
alternate
パーセントキーフレーム:より複雑なアニメーションシーケンスを作成alternate-reverse
より複雑なアニメーションシーケンスは、パーセンテージキーフレームを使用して作成できます。
アニメーションフィルモード:Animation-Fill-Mode Attribution属性アニメーションが始まる前後の要素スタイルを制御します。
一時停止アニメーション:Animation-Play-State属性animation-fill-mode
属性を使用して、アニメーションを一時停止して復元します。
アニメーションイベントの検出:AnimationStart、AnimationEnd、およびAnimationationイベントanimation-play-state
javaScriptを使用して、、、
イベントを聞くことができます。
animationstart
animationend
パフォーマンスの最適化:適切なアニメーション属性を選択animationiteration
一部のプロパティは、他のプロパティよりも優れたパフォーマンスを発揮します。リフローや再描画をトリガーするプロパティのアニメーションを避けてください。
faqこの記事には、CSSアニメーションに関するよくある質問も含まれています。CSSアニメーションとCSSトランジション、アニメーション速度コントロール、ルールの役割、レイアウトアニメーション、リバース再生アニメーション、アニメーションの一時停止、アニメーションの違いをカバーする、無限ループアニメーション、SVG要素アニメーション、およびと
の違い。
この記事を研究することにより、より洗練された複雑なCSSアニメーションエフェクトを作成して、Webページのインタラクティブ性とユーザーエクスペリエンスを向上させることができます。 アニメーションを使用するときは、パフォーマンスとアクセシビリティに常に優先順位を付けることを忘れないでください。 @keyframes
以上がCSSアニメーションを始める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。