CSS 要約ノート: 変換、遷移、アニメーションの例

CSS 要約ノート: 変換、遷移、アニメーションの例

1.移行

遷移プロパティの使用法: transition :transition-property transition-duration transition-timing-function  遷移遅延

一緒に指定することも、個別に指定することもできます

transition-property: 遷移するプロパティ (幅、高さなど) です。all はすべてが変更されることを意味します。

transition-duration: 秒またはミリ秒単位での所要時間

transition-timing-function: アニメーションの種類 (モーション カーブ) を指定します。モーション カーブにはいくつかの種類があります。

easy=>徐々に減速(デフォルト値) linear=>一定速度 easy-in=>加速 easy-out=>減速 easy-in-out=>最初に加速してから減速

遷移遅延遅延時間(秒またはミリ秒)

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        
        div {
            幅: 100ピクセル;
            高さ: 200px;
            背景色: 水色;
            遷移: 幅 2 秒、イーズインアウト 0.5 秒。
        }
        
        div:ホバー{
            幅: 500ピクセル;
        }
    </スタイル>
</head>

<本文>
    <div></div>
</本文>

</html>

結果は次のようになります。マウスを上に動かすと、変化は瞬時ではなくなり、過渡的に完了します。

2.変換

(1)2次元変形

(a) 移動 translate(x,y)

移動はピクセルまたはパーセンテージで指定できます。注: 指定されたパーセンテージはボックス自体のサイズのパーセンテージなので、ボックスを配置するときに中央揃えを設定するために使用できます (左: 50% に設定し、ボックス自体の -50% に移動します)。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="ビューポート" content="幅=, 初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        div {
            幅: 100ピクセル;
            高さ: 100px;
            背景色: 水色;
            遷移: すべて 2;
        }
        
        div:アクティブ{
            変換: translate(200px, 200px);
        }
    </スタイル>
</head>

<本文>
    <div></div>
</本文>

</html> 

クリックするとボックスが移動します。配置されたボックスを中央に配置するコードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        .fa {
            幅: 300ピクセル;
            高さ: 300px;
            背景色: 水色;
            遷移: すべて 0.5 秒;
            位置: 相対的;
        }
        
        .息子{
            背景色: 赤;
            位置: 絶対;
            左: 50%;
            上位: 50%;
            幅: 100ピクセル;
            高さ: 100px;
            変換: translate(-50%, -50%);
        }

    </スタイル>
</head>

<本文>
    <div class="fa">
        <div class="son"></div>
    </div>

</本文>

</html>

結果は

(b) スケーリングスケール(x, y)

x、y が 1 より大きい値に設定されている場合はズームインされ、1 より小さい値に設定されている場合はズームアウトされます。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        div {
            幅: 100ピクセル;
            高さ: 100px;
            背景色: 水色;
            マージン: 200px 自動;
            遷移: すべて 2;
        }
        
        div:ホバー{
            変換: スケール(0.5, 2);
        }
    </スタイル>
</head>

<本文>
    <div>

    </div>
</本文>

</html> 

(c) 回転(x度)

x は度数値を指定します。正の値は時計回り、負の値は反時計回りになります。

回転の場合は、 transform-originを使用して回転の中心点を指定できます。また、左上、右上、下の特定のピクセル値を指定することもできます。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        div {
            幅: 200ピクセル;
            高さ: 100px;
            背景色: 水色;
            マージン: 200px 自動;
            遷移: すべて 2;
            変換原点: 左下;
        }
        
        div:ホバー{
            変換: 回転(120度);
        }
    </スタイル>
</head>

<本文>
    <div></div>
</本文>

</html> 

(d) スキュー(x度、y度)

x、y はそれぞれ x 方向と y 方向の傾斜角度を指定します。これは負の値になることもあります。 y 値が指定されていない場合、デフォルト値は 0 になります。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        div {
            幅: 100ピクセル;
            高さ: 100px;
            背景色: 水色;
            境界線: 1px 実線の赤;
            遷移: すべて 1;
            マージン: 200px 自動;
        }
        
        div:ホバー{
            変換: skew(30deg, 20deg);
        }
    </スタイル>
</head>

<本文>
    <div></div>
</本文>

</html> 

(2)3D変形

(a) 回転 (rotateX、rotateY、rotateZ)

3D 回転は 2D と似ていますが、一方が 2 次元座標に基づいており、もう一方が 3 次元座標に基づいている点が異なります。 3 つの値は一緒に指定することも、個別に指定することもできます。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        div {
            幅: 200ピクセル;
            高さ: 100px;
            背景色: 水色;
            マージン: 200px 自動;
            遷移: すべて 2;
            変換原点: 左下;
        }
        
        div:ホバー{
            変換: rotateX(120deg);
            /* 変換: rotateY(120deg); */
            /* 変換: rotateZ(120deg); */
        }
    </スタイル>
</head>

<本文>
    <div></div>
</本文>

</html> 

(b) 移動 (translateX、translateY、translateZ)

3D 移動は、xy 方向の移動に関しては 2D 移動と同じです。 Z方向の動きだけが異なります。 Z 方向への移動は、現実世界では距離が遠ざかったり近づいたりすることを意味します。そのため、Web ページに表示される結果は、近い場合は大きくなり、遠い場合は小さくなります。

Z 軸の動きを効果的にするには、まず視点 (目と画面の間の距離) を設定する必要があります。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        体 {
            パースペクティブ: 1000px;
            /* 値が小さいほど、目が近くなります */
        }
        
        div {
            幅: 200ピクセル;
            高さ: 200px;
            背景色: 水色;
            遷移: すべて 0.5 秒;
            マージン: 200px 自動;
        }
        
        div:ホバー{
            変換: translate3d(0, 0, 200px);
        }
    </スタイル>
</head>

<本文>
    <div>

    </div>
</本文>

</html> 

3.アニメーション

(1)アニメーション:アニメーション名 ||アニメーション継続時間 ||アニメーションタイミング関数 ||アニメーション遅延 ||アニメーション反復回数 ||アニメーション方向 ||アニメーション塗りつぶしモード;

animation-name: アニメーション名(@keyframes を使って自分で定義したアニメーション)

アニメーション期間: 期間

animation-timing-function: トランジションのモーション カーブに似たモーション カーブ。

アニメーション遅延: 遅延時間

animation-iteration-count: ループ回数(infinite は無限ループ)

アニメーション方向: 逆方向かどうか (アニメーションが最後から始まって逆方向に再生されるかどうか)

animation-fill-mode: アニメーション再生外の状態 (終了時の状態) を設定します。なし | 前進 (終了時の状態に設定) | 後退 (開始時の状態に設定) | 両方 (開始時または終了時の状態に設定)

animation-play-state: アニメーションの状態を実行開始|一時停止に設定する

(2) @keyframesカスタムアニメーション

フォーマットは以下のとおりです

@keyframes アニメーション名 {
開始から0%
100%まで
}

アニメーション処理を指定するには、from...to を使用するか、0%~100% を使用してアニメーション処理を指定できます。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドキュメント</title>
    <スタイル>
        div {
            幅: 100ピクセル;
            高さ: 100px;
            背景色: 水色;
            /* アニメーション: アニメーション名、アニメーション時間、モーション カーブ、開始タイミング、再生回数、逆方向に再生するかどうか*/
            アニメーション: 5 秒間直線 3 で移動します。
        }
        
        @keyframes 移動 {
            0% {
                変換: translate3d(0, 0, 0);
            }
            25% {
                変換: translate3d(400px, 0, 0);
            }
            50% {
                変換: translate3d(400px, 300px, 0);
            }
            75% {
                変換: translate3d(0, 300px, 0);
            }
            100% {
                変換: translate3d(0, 0, 0);
            }
        }
    </スタイル>
</head>

<本文>
    <div></div>
</本文>

</html> 

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  dockerを使用してdubboプロジェクトをデプロイする方法

>>:  自己終了XHTMLタグを書くときに注意すべきこと

推薦する

UniappはBaidu Voiceを使用して録音をテキストに変換する機能を実現

3日間さまざまな困難に遭遇した後、ようやくこの機能を実現しました。正常に実装できる方法を見つける前に...

HTML の一般的でないタグ optgroup、sub、sup、bdo のサンプルコード

Optgroup は、ドロップダウン リストのコンテンツをより整理するために、select タグで使...

MySQL MHA のセットアップと切り替えに関するいくつかのエラー ログの概要

1: masterha_check_repl レプリカ セット エラー レプリケートが構成ファイルで...

Vueモバイル端末の適応化問題の詳細説明

1. vue uiでプロジェクトを作成する 2. 基本設定項目を選択する 3. プロジェクトを実行す...

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....

HTML テーブル マークアップ チュートリアル (6): 暗い境界線の色属性 BORDERCOLORDARK

表では、右下の境界線の色を個別に定義したり、セルの左上の境界線の色を定義したりできます。これら 2 ...

uni-appがNFC読み取り機能を実装

この記事では、参考までに、NFC読み取り機能を実装するためのuni-appの具体的なコードを紹介しま...

Docker コンテナ アプリケーションで避けるべき 10 の悪い習慣

コンテナが企業の IT インフラストラクチャに欠かせない要素となっていることは間違いありません。コン...

CSS を使用して画像の色を変更する 100 の方法 (収集する価値あり)

序文「画像処理というと、PhotoShop などの画像処理ツールを思い浮かべることが多いです。フロン...

Vue開発の詳細な説明 ソートコンポーネントコード

目次 <テンプレート> <ul class="コンテナ">...

VueはElementUIのフォームサンプルコードを模倣する

実装要件ElementUI を模倣したフォームは、インデックス コンポーネント、Form フォーム ...

Linuxでmore、less、catコマンドを使用してファイルの内容を表示します

Linux では、cat、more、less の各コマンドを使用してファイルの内容を表示できます。c...

MySQLのスケジュールタスクが正常に実行できない原因の分析と解決

目次序文原因分析と解決策スケジュールされたタスクを迅速に実行する要約する序文データベースのスケジュー...

アコーディオン効果を実現するJavaScript

この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

JavaScriptの厳密モードが8進数をサポートしていない問題の説明

JavaScript厳密モードが 8 進数をサポートしていないという問題に関して、まず、 Java...