ホームページ > ウェブフロントエンド > H5 チュートリアル > CSS遷移とは何ですか?それらを実装するにはどうすればよいですか?

CSS遷移とは何ですか?それらを実装するにはどうすればよいですか?

Karen Carpenter
リリース: 2025-03-10 17:06:31
オリジナル
401 人が閲覧しました

この記事では、CSSプロパティの変更をスムーズにアニメーション化する方法CSS遷移について説明します。トランジションプロパティを使用して実装を詳しく説明し、期間とタイミング機能を指定します。この記事では、移行をアニメーション、highligと比較します

CSS遷移とは何ですか?それらを実装するにはどうすればよいですか?

CSS遷移とは何ですか?それらを実装するにはどうすればよいですか?

CSS遷移は、指定された期間にわたってCSSプロパティの変化をスムーズにアニメーション化する方法を提供します。 JavaScriptアニメーションライブラリの複雑さなしに、微妙で魅力的なユーザーインターフェイス効果を作成するのに非常に便利です。基本的に、さまざまなスタイル間で徐々に移行することができ、変化をより自然で突然に感じさせることができます。

CSS遷移の実装には、3つの重要な部分が含まれます。

  1. transitionプロパティ:これがCSS遷移の中核です。引数として1つ以上のプロパティ名を取得し、どのCSSプロパティが遷移するかを指定します。コンマで区切られた複数のプロパティをリストできます。例: transition: background-color, transform 0.5s ease; 。この行には、ブラウザがbackground-colortransformプロパティの両方を、 easeタイミング関数を使用して0.5秒にわたって変換するように指示します。
  2. プロパティ名:これらは、アニメーション化する特定のCSSプロパティ(例: background-colorwidthopacitytransformborder-radius )です。
  3. 遷移期間:これは、通常、秒またはミリ秒(MS)で、遷移の長さを指定します。
  4. タイミング関数:これらは、遷移のペースを制御します(例えば、 easelinearease-inease-outease-in-outcubic-bezier() )。 easeデフォルトであり、スムーズでわずかに加速された開始と終了を提供します。 linear一定の速度を提供します。 cubic-bezier()遷移曲線をきめ細んの制御を提供します。

例:

 <code class="css">.element { background-color: red; transition: background-color 0.5s ease; } .element:hover { background-color: blue; }</code>
ログイン後にコピー

この例では、ユーザーが.elementを越えると、背景色が0.5秒間にわたって赤から青に滑らかに移行します。遷移は、 background-colorプロパティが変更されたときにのみ発生します。他のプロパティの変更は瞬時になります。

さまざまなプロパティでCSS遷移を同時に使用できますか?

はい、絶対に! transitionプロパティは、コンマを分離したプロパティのリストを受け入れます。これにより、それらのプロパティの変更のタイミングに応じて、同期または非同期に複数のCSSプロパティを一度にスムーズにアニメーション化できます。

例:

 <code class="css">.element { background-color: red; transform: scale(1); transition: background-color 0.5s ease, transform 0.3s ease-in-out; } .element:hover { background-color: blue; transform: scale(1.2); }</code>
ログイン後にコピー

この例では、 background-colortransformプロパティの両方が同時に遷移しますが、さまざまな期間とタイミング機能があります。背景色はeaseを使用して0.5秒を超えて遷移しますが、変換はease-in-outを使用して0.3秒以上遷移します。

CSS遷移とCSSアニメーションの主な違いは何ですか?

CSSの移行とアニメーションの両方が要素をアニメーション化する方法を提供しますが、目的と実装が大きく異なります。

特徴 CSS遷移 CSSアニメーション
トリガー CSSプロパティの変更 @keyframesルールおよび関連するCSSプロパティ
間隔 プロパティごと、単一期間ごとに指定されています アニメーションごとに指定され、可能な複数のキーフレーム
複雑 基本的な遷移のためのよりシンプル より複雑なアニメーションのために、より複雑です
コントロール アニメーションの詳細に対する制御が少ない よりコントロール、複数のキーフレーム、タイミング機能
反復 プロパティの変更ごとの単一の移行 無期限に繰り返すことができます( animation-iteration-count
方向 一方向、初期状態から最終状態まで 異なる方向に逆転または再生できます

本質的に、トランジションは、イベント駆動型のシンプルなアニメーション(ホバーエフェクトなど)に最適ですが、アニメーションは複雑でマルチステージ効果により多くのパワーとコントロールを提供します。遷移はリアクティブです。アニメーションは積極的です。

CSSトランジションを最適化することで、Webサイトのパフォーマンスを改善するにはどうすればよいですか?

パフォーマンスのためにCSS遷移を最適化するには、ブラウザの計算負荷を最小限に抑える必要があります。

  • 移行の数を減らす:特にページの一部を頻繁に更新する際に、多数の要素での移行を同時に使用しないでください。過剰使用は、Jankとパフォーマンスの低下につながる可能性があります。
  • 効率的なプロパティの使用: transformのようなプロパティの遷移は、レイアウトの再計算をトリガーしないため、 widthheight 、またはmarginのようなプロパティの遷移よりもパフォーマンスが高くなります。
  • トランジションを短くしておく:長い移行はユーザーの相互作用をブロックし、遅くなると感じることができます。必要に応じて、短くてきびきびとした移行を目指します。
  • 複雑なタイミング関数を避けてください: cubic-bezier()はきめ細かい制御を提供しますが、 easelinearなどのシンプルなタイミング関数よりも計算的に高価です。
  • ハードウェアアクセラレーションを使用: transformプロパティを使用した遷移は、多くの場合、ハードウェアアクセラレーションされているため、大幅に高速になります。
  • 反射と塗り直しを最小限に抑える:頻繁に反射と塗り直し( widthheightmarginpadding )を頻繁にトリガーするプロパティでの遷移を使用しないでください。これにより、ブラウザのレンダリングエンジンのワークロードが削減されます。

これらのガイドラインに従うことにより、ウェブサイトのパフォーマンスを犠牲にすることなく、CSSトランジションを使用して視覚的に魅力的なアニメーションを作成できます。

以上がCSS遷移とは何ですか?それらを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート