一般的なCSS3アニメーションの実装方法

一般的なCSS3アニメーションの実装方法

1. 何ですか

CSS アニメーションは、CSS を使用して拡張マークアップ言語 (XML) 要素をアニメーション化できるようにする、カスケーディング スタイル シート用の提案されたモジュールです。

要素が徐々にあるスタイルから別のスタイルに移行するプロセスを指します。

一般的なアニメーション効果には、移動、回転、拡大縮小など、多数あります。複雑なアニメーションは、複数の単純なアニメーションを組み合わせたものです。

CSS を使用してアニメーションを実装する方法はいくつかあります。

  • トランジションはグラデーションアニメーションを実装します
  • 変換アニメーション
  • アニメーションはカスタムアニメーションを実装します

2. 実装

トランジションはグラデーションアニメーションを実装します

遷移のプロパティは次のとおりです。

  • プロパティ: 変更が必要なCSSプロパティを入力します
  • 期間: トランジション効果を完了するのに必要な時間単位 (秒またはミリ秒)
  • タイミング関数: 完成したエフェクトのスピードカーブ
  • delay: アニメーション効果の遅延トリガー時間

タイミング関数の値は次のとおりです。

価値説明する
リニア等速(cubic-bezier(0,0,1,1)に等しい)
容易に遅い状態から速い状態へ、そして再び遅い状態へ (cubic-bezier(0.25,0.1,0.25,1))
イーズイン徐々に速くなります(cubic-bezier(0.42,0,1,1)に等しい)
イージーアウトゆっくり減速します(cubic-bezier(0,0,0.58,1)に等しい)
イージーインアウト最初は速く、その後遅くなり(cubic-bezier(0.42,0,0.58,1)に等しい)、徐々に現れて消えていきます。
3次ベジェ(n,n,n,n) 3次ベジェ関数で独自の値を定義します。可能な値は0〜1です。

注: display:none<->display:block など、すべてのプロパティがトランジションで使用できるわけではありません。

例えば、マウスを動かすと変化するアニメーション効果を実現するには

<スタイル>
       .base {
            幅: 100ピクセル;
            高さ: 100px;
            表示: インラインブロック;
            背景色: #0EA9FF;
            境界線の幅: 5px;
            境界線のスタイル: solid;
            境界線の色: #5daf34;
            遷移プロパティ: 幅、高さ、背景色、境界線の幅;
            遷移期間: 2秒;
            遷移タイミング関数: イーズイン;
            遷移遅延: 500ms;
        }

        /*略語*/
        /*遷移: すべて 2 秒のイーズイン 500 ミリ秒;*/
        .base:hover {
            幅: 200ピクセル;
            高さ: 200px;
            背景色: #5daf34;
            境界線の幅: 10px;
            境界線の色: #3a8ee6;
        }
</スタイル>
<div> </div>

変換アニメーション

よく使用される 4 つの関数が含まれています。

  • 翻訳: 変位
  • スケール: ズーム
  • 回転: 回転
  • 傾斜: 傾き

一般的には遷移過剰で使用される

transform はインライン要素をサポートしていないため、使用する前にブロックに変換する必要があることに注意してください。

例えば

<スタイル>
    .base {
        幅: 100ピクセル;
        高さ: 100px;
        表示: インラインブロック;
        背景色: #0EA9FF;
        境界線の幅: 5px;
        境界線のスタイル: solid;
        境界線の色: #5daf34;
        遷移プロパティ: 幅、高さ、背景色、境界線の幅;
        遷移期間: 2秒;
        遷移タイミング関数: イーズイン;
        遷移遅延: 500ms;
    }
    .base2 {
        変換: なし;
        遷移プロパティ: transform;
        遷移遅延: 5ms;
    }

    .base2:ホバー{
        変換: スケール(0.8, 1.5)、回転(35度)、傾斜(5度)、移動(15px, 25px);
    }
</スタイル>
 <div> </div>

ボックスが回転、傾斜、移動、拡大されていることがわかります。

アニメーションはカスタムアニメーションを実装します

アニメーションは、次の 8 つのプロパティの略称です。

財産説明するプロパティ値
アニメーション期間アニメーションがサイクルを完了するのに必要な時間を秒(s)またはミリ秒(ms)で指定します。デフォルト値は0です。
アニメーションタイミング関数アニメーションのタイミング関数、つまりアニメーションの速度曲線を指定します。デフォルトは「ease」です。直線的、イージー、イージーイン、イージーアウト、イージーインアウト
アニメーション遅延アニメーションの遅延時間、つまりアニメーションが開始する時間を指定します。デフォルト値は 0 です。
アニメーションの繰り返し回数アニメーションを再生する回数を指定します。デフォルト値は 1 です。
animation-directionはアニメーションの再生方向を指定しますデフォルトは通常通常、逆、交互、交互逆
アニメーション フィル モードアニメーションの塗りつぶしモードを指定します。デフォルトはなし前方、後方、両方
アニメーション再生状態アニメーションの再生状態(実行中または一時停止)を指定します。デフォルトでは実行中実行中、一時停止中
アニメーション名@keyframesアニメーションの名前を指定します

CSS アニメーションでは、いくつかのキー フレームを定義するだけで、ブラウザーはタイミング関数の補間に基づいて残りのフレームを計算します。

@keyframes でキーフレームを定義する

したがって、要素を円状に回転させたい場合は、開始フレームと終了フレームを定義するだけで済みます。

@keyframes 回転{
    から{
        変換: 回転(0度);
    }
    に{
        変換: 回転(360度);
    }
}

From は最初のフレームを意味し、to は最後のフレームを意味します。

ライフサイクルを説明するためにパーセンテージを使用することもできます

@keyframes 回転{
    0%{
        変換: 回転(0度);
    }
    50%{
        変換: 回転(180度);
    }
    100%{
        変換: 回転(360度);
    }
}

キーフレームを定義したら、それを直接使用できます。

アニメーション: 2秒回転;

結論

財産意味
遷移要素のスタイルを設定するために使用されます。アニメーションに似た効果がありますが、詳細は大きく異なります。
変身要素を回転、拡大縮小、移動、または傾けるために使用されます。スタイル アニメーションの設定とは関係ありません。これは、要素の「外観」を設定するために使用される色と同等です。
翻訳するこれは単なる変換のプロパティ値であり、つまり移動する
アニメーションアニメーションのプロパティを設定するために使用されます。6 つのプロパティを含むショートカット プロパティです。

上記は、一般的な CSS3 アニメーションの実装方法の詳細な内容です。CSS3 アニメーションの実装の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

<<:  MySQL の複合インデックスはどのように機能しますか?

>>:  jQueryのコア機能とイベント処理の詳細な説明

推薦する

MySQL のグループ分けの例

mysql のような php switch case ステートメント。 xxフィールドを選択、ケース...

MySQL テーブル全体の暗号化ソリューション keyring_file の詳細な説明

例示するMySql Community Edition は、5.7.11 以降、テーブルベースのデー...

Linux7 ベースの Hadoop のインストールと構成の詳細なグラフィック説明

上記のように材料を準備します(ps: hadoop-3.1.2-srcはhadoop-3.1.2に変...

Workermanはmysql接続プールのサンプルコードを書きます

まず、接続プールを使用する理由と、接続プールによってどのような問題が解決できるかを理解する必要があり...

Chrome プラグイン (拡張機能) 開発ガイド (完全デモ)

目次前面に書かれた序文ChromeプラグインとはChrome プラグイン開発を学ぶことの意義は何です...

JavaScript CollectGarbage 関数の例

まず、メモリ解放の例を見てみましょう。 <スクリプト言語="JavaScript&q...

CSS3は背景画像にマスクを設定し、マスクスタイルの継承の問題を解決します。

多くの場合、透明度の設定やぼかしなど、写真の背景を加工する必要があります。 ただし、背景画像が配置さ...

MySQL ストアド プロシージャの作成と呼び出しの詳細な説明

目次序文ストアドプロシージャ: 1. ストアドプロシージャの作成と呼び出し1. ストアドプロシージャ...

Windows 上の MySQL バージョン 5.7 でエンコードを UTF-8 に変更する方法

序文MySQLの勉強を始めたばかりで、公式サイトから最新バージョン5.7.14をダウンロードしました...

VMware Workstation 12 Pro Linux インストール チュートリアル

この記事は、VMware Workstation 12 ProのインストールLinuxチュートリアル...

コードレイン効果を実現するjQueryプラグイン

この記事では、コードレイン特殊効果を実現するためのjQueryプラグインの具体的なコードを参考までに...

Dockerはローカルイメージとコンテナの保存場所を設定します

指定したサイズより大きいファイルを検索するには、find コマンドを使用します。 検索 / -typ...

Windows 10 + mysql 8.0.11 zipインストールチュートリアルの詳細

準備する: MySQL 8.0 Windows zip パッケージのダウンロード アドレス: htt...

WeChatアプレットがログインインターフェースを実装

WeChatアプレットのログインインターフェースは参考までに実装されています。具体的な内容は次のとお...

Vue+Spring Bootで検証コード機能を実現

この記事では、検証コード機能を実装するためのvue+spring bootの具体的なコードを例として...