アニメーションとトランジションの違い

アニメーションとトランジションの違い

CSS3アニメーションとJSアニメーションの違い

JSはフレームアニメーションを実装します
CSS3はトゥイーンアニメーションを実装する

  • フレームアニメーション: タイマーを使用して、現在の要素を一定の間隔で変更します。
  • トゥイーンアニメーション: トランジション(状態が変化する限りトランジションを追加してアニメーションを生成する)アニメーション(アニメーションを制御する複数のノード)のパフォーマンスが向上します

遷移

トランジションは、アニメーションの簡易版とも言えるシンプルなアニメーション属性です。通常はイベントトリガーで使用され、シンプルで使いやすいです。

遷移プロパティ値

説明する財産
遷移プロパティ遷移する必要がある属性はallにすることもでき、block、noneなどは使用できません。
遷移期間あるプロパティから別のプロパティに移行するのにかかる時間を指定します。デフォルト値は 0 です。0 の場合、変化は瞬間的であり、遷移効果は確認できません。
遷移タイミング関数トランジションアニメーションタイプです。利用可能なタイプには、リニア(一定速度)、イーズイン(減速)、イーズアウト(加速)、イーズインアウト(最初に加速してから減速)、キュービックベジェ(カスタマイズ可能なキュービックベジェ曲線)があります。
遷移遅延遷移動作が検出された後、一定の遅延後に実行が開始されることを指定します。

トランジション機能

遷移はイベントによってトリガーされる必要があります (ホバー疑似クラスの追加など)。遷移は、ページが読み込まれたときに 1 回だけ自動的に発生することはなく、繰り返しトリガーされない限り繰り返し発生することもありません。状態は開始と終了の 2 つだけです。遷移ルール​​は 1 つの属性のみを定義できます。

<本文>
    <div> </div>
</本文>
<スタイル>
    。箱 {
        高さ: 100px;
        幅: 100ピクセル;
        背景色: ライトピンク;
        遷移: 幅 1 秒、イーズイン アウト 0.5 秒。
    }

    .box:ホバー{
        幅: 200ピクセル;
    }
</スタイル>

効果は以下のとおりです

hover時の遷移を次のように記述することもできますtransition: width 1s 0.5s ease-in-out

.box:ホバー{
    幅: 200ピクセル;
    遷移: 幅 1 秒、イーズイン アウト 0.5 秒。
}

実際、ホバー時に書き込むことも可能ですが、要素から移動すると、遷移なしで要素の幅がすぐに復元されます。
理由は非常に簡単です。ホバー時にのみ遷移を記述するため、疑似クラスはマウスがその上に移動したときにのみ有効になります。

アニメーション

アニメーションプロパティ値

財産説明する
アニメーション名@keyframes で定義されたアニメーションを呼び出すために使用されます。これは、@keyframes で定義されたアニメーション名と一致します。
アニメーション期間アニメーションが 1 サイクルを完了するのにかかる秒数またはミリ秒数を指定します。デフォルト値は0です
アニメーションタイミング関数速度曲線は、遷移タイミング関数と同様に、利用可能なタイプは、リニア(等速)、イーズイン(減速)、イーズアウト(加速)、イーズインアウト(最初に加速してから減速)、キュービックベジェ:キュービックベジェ曲線で、カスタマイズできます。
アニメーション遅延アニメーションが開始するタイミングを指定します。デフォルト値は 0 です。
アニメーションの繰り返し回数アニメーションを再生する回数を指定します。デフォルト値は1です
アニメーションの方向Normal はデフォルト値です。normal に設定すると、アニメーションはループするたびに順方向に再生されます。alternate (交互に) に設定すると、アニメーションは偶数回目に順方向に再生され、奇数回目に逆方向に再生されます (この設定は、animation-iteration-count の値が 1 より大きい場合に有効です)
アニメーション再生状態実行中の場合、この値を使用して一時停止したアニメーションを再生できます。ここでの再生は要素アニメーションの最初からではなく、一時停止した位置から始まります。一時停止、一時停止
アニメーション フィル モードデフォルトでは、アニメーションが終了すると、要素のスタイルは開始状態に戻ります。animation-fill-mode プロパティは、アニメーション終了後の要素のスタイルを制御できます。主なプロパティ値は 4 つあります: none (デフォルト、アニメーション開始前の状態に戻る)、forwards (アニメーション終了後もアニメーションは終了状態のまま)、backwords (アニメーションは最初のフレームの状態に戻る)、both (アニメーションの方向に応じて forwards ルールと backwards ルールを交互に適用)

<本文>
    <div> </div>
</本文>
<スタイル>
。箱 {
    高さ: 200px;
    幅: 200ピクセル;
    アニメーション: 3 秒タイプ順方向交互に無限;
    アニメーション再生状態: 実行中;
}

.box:hover {
    アニメーション再生状態: 一時停止;
}

@キーフレームタイプ{
    から {
        背景: 黄緑
    }

    50% {
        背景: 黄色
    }

    に {
        背景: アクアマリン
    }
}
</スタイル>

マウスが内側に移動する時に一時停止し、マウスが外側に移動する時に色の変更を続けます

変身

まず、transform属性は静的属性であることに注意してください。スタイルに書き込まれると、直接表示され、アニメーションプロセスには表示されません。transform属性を使用すると、要素を移動(translate)、拡大縮小(scale)、回転(rotate)、反転(skew)できます。詳細なパラメータについては、CSS3 transform属性を参照してください。

要約する

違い遷移アニメーション
自動的に実行できますか?いいえ、ホバーなどのイベントによってトリガーされる必要がありますできる
それは繰り返し起こることはありますか?いいえ、トリガーがない限りできる
複数の状態を含めることができますか?いいえ、開始状態と終了状態のみがありますはい、例えば0%から100%まで、任意の遷移状態を指定できます
一時停止してもいいですか?いいえ、1回限りはい、例えばホバーイベントは一時停止をトリガーします
速度曲線を定義できますか?できるできる
プロパティ値の遷移を定義できますか?できるできる

以上がアニメーションとトランジションの違いについての詳しい内容です。アニメーションとトランジションについてさらに詳しく知りたい方は、123WORDPRESS.COMの他の関連記事もぜひご覧ください!

<<:  WeChatアプレットで数字当てゲームを実装する実際のプロセス

>>:  Linux システムでの Selenium クローラー プログラムの導入の概要

推薦する

Linux でユーザーにルート権限を追加する方法の概要

1. ユーザーを追加します。まず、adduser コマンドを使用して共通ユーザーを追加します。コマン...

JavaScript 関数のパフォーマンスを測定するさまざまな方法の比較

目次概要パフォーマンス.nowコンソール.time時間精度を短縮注意事項分割して征服する入力値に注意...

バックアップと削除のためにリアルタイムでステートメントを検出するMySQLトリガーの考え方の詳細な説明

問題の説明: ユーザーは、テーブルに「違反」という単語を含むフィールドが時々表示されることを要求して...

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...

Linux で完全な Samba サーバーを構築する方法 (CentOS バージョン)

序文smb は、クライアントとサーバー間の Web 接続および情報通信に使用できるプロトコルの名前で...

Tomcat 例外の解決方法 (リクエスト ターゲットに無効な文字が見つかりました。有効な文字は RFC 7230 および RFC 3986 で定義されています)

1. シナリオ表示Tomcat ログに次の例外情報が時々報告されます。何が起こっているのでしょうか...

vue-routerのマッチングに基づいてパンくずリスト機能を実現する

この記事では主にvue-routerのmatchedをベースにしたbreadcrumb機能を紹介し、...

JavaScript の for ループと二重 for ループの詳細な説明

forループfor ループは配列の要素をループします。文法: for (初期化変数; 条件式; 繰り...

Hyper-V インストール CentOS 8 の問題の分析

CentOS 8 がリリースされてから随分経ちました。Linux 仮想マシンをいじっている人間として...

スタイル属性 (element.style) で定義されたインライン スタイルを削除する方法

Magento を頻繁に変更する場合、element.style に遭遇することがあります。 これは...

VMware vSphere 6.7 (ESXI 6.7) のグラフィック インストール手順

環境: VMware VCSA 6.7 (VMware-VCSA-all-6.7.0-8169922...

Nginx ロードバランシング/SSL 構成の実装

負荷分散とは何ですか?ドメイン名が複数の Web サーバーを指している場合は、nginx ロード バ...

イラスト風ウェブサイトホームページデザイン ウェブサイトデザインの新トレンド

視覚効果が非常に美しく、訪問者に強い印象を残すことがわかります。さらに、重要なポイントが強調され、訴...

MySQL 学習ノート: 完全な SELECT ステートメントの使用例と詳細な説明

この記事では、MySQL 学習ノートの select ステートメントの完全な使用方法を例を使用して説...

Linux で MySQL スケジュールタスクを実装する方法

前提: ストアド プロシージャは、毎日午後 10 時から午前 5 時まで 10 分ごとに実行されます...