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

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

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 クローラー プログラムの導入の概要

推薦する

CSS 複合セレクタの具体的な使用法

交差点セレクター交差セレクターは、直接接続された 2 つのセレクターで構成されます。最初のセレクター...

Vue2.0+ElementUI+PageHelperで実装されたテーブルページング機能

序文最近、いくつかのフロントエンド プロジェクトに取り組んでおり、ページにいくつかのテーブルを表示す...

JavaScript 円グラフの例

描画効果実装コードJavaScript var キャンバス = document.getElemen...

calc() で全画面背景の固定幅コンテンツを実現

ここ数年、Web デザインには「全幅背景と固定幅コンテンツ」というトレンドが生まれています。このデザ...

MySQLインデックスが失敗するいくつかの状況の分析

1. 最左プレフィックス原則 - 複数の列にインデックスが付けられている場合は、最左プレフィックス原...

Windows での MySQL のダウンロード、インストール、設定、使用に関するチュートリアル

MySQLの概要MySQL はリレーショナル データベース管理システムです。データベースは構造化され...

JavaScriptエンジンV8の実行プロセスの詳細な説明

目次1. V8ソース2. V8サービスターゲット3. V8の初期アーキテクチャIV. V8の初期アー...

nodejs + koa + typescript の統合と自動再起動に関する問題

目次バージョンノートプロジェクトを作成する依存関係をインストールするコンテンツの記入src/serv...

CSSで記事の区切り線のスタイルを実装するさまざまな方法のまとめ

この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...

MySQL 起動時に報告される ERROR:2002 の分析と解決方法

序文この記事は主にMySQL起動エラー2002の分析と解決方法を紹介しています。参考と勉強のために共...

CSS3で実装されたテキストポップアップ効果

成果を達成する実装コードhtml <div>123WORDPRESS.COM</d...

jsは多次元配列を1次元配列に変換し、それを並べ替えます

目次まず多次元配列の平坦化についてお話しましょう方法 1: flat()方法 2: 空の文字列を連結...

Vue は動的なプログレスバー効果を実現します

この記事では、動的なプログレスバー効果を実現するためのVueの具体的なコードを例として紹介します。具...

モバイル開発における 1px ラインの理解と解決策

1pxの線が太くなる理由モバイルプロジェクトに取り組むとき、設計図に従って要素ノードのサイズとスタイ...

JavaScript が Xiaomi のカルーセル効果を模倣

この記事は、透明度を変えてカルーセルにするXiaomiカルーセルを真似て書いたものです。初心者なので...