下線を実現するための CSS3 トランジションの例コード

下線を実現するための CSS3 トランジションの例コード

この記事では、下線を実現するための CSS3 トランジションのサンプル コードを紹介します。このコードは次のように共有されます。

デモはこちらをご覧ください

移行を理解する

これは、アニメーション遷移を実現できる CSS3 で追加された新しいスタイルです。あるスタイルから別のスタイルに移行するための効果を追加するときによく使用されます。

遷移プロパティ

  1. transition: 1 つのプロパティで 4 つの遷移プロパティを設定するために使用されるショートカット プロパティ。
  2. transition-property: トランジションが適用される CSS プロパティの名前を指定します。
  3. transition-duration: トランジション効果にかかる時間を定義します。デフォルトは0です。
  4. transition-timing-function: トランジション効果のタイミング曲線を指定します。デフォルトは「ease」です。
    1. linear: 同じ速度で開始および終了するトランジション効果を指定します (cubic-bezier(0,0,1,1) に相当)
    2. イージー: ゆっくり始まり、その後加速し、そしてゆっくり終わるトランジション効果を指定します (cubic-bezier(0.25,0.1,0.25,1))
    3. easy-in: ゆっくりと始まる遷移効果を指定します (cubic-bezier(0.42,0,1,1) に等しい)
    4. easy-out: ゆっくり終了する遷移効果を指定します (cubic-bezier(0,0,0.58,1) に等しい)
    5. easy-in-out: ゆっくりと開始および終了する遷移効果を指定します (cubic-bezier(0.42,0,0.58,1) に相当)
    6. cubic-bezier(n,n,n,n): cubic-bezier関数で独自の値を定義します。可能な値は0から1までの数値です。
  5. transition-delay: トランジション効果がいつ始まるかを指定します。デフォルトは0です。

transition: width 1s linear 2s; /*省略した例*/

/*以下と同等*/
遷移プロパティ: 幅;
遷移期間: 1秒;
遷移タイミング関数: 線形;
遷移遅延: 2秒;

属性を変換する

  • translate() は、指定された左 (X 軸) と上 (Y 軸) の位置に従って、要素を現在の位置から移動します。
  • rotate() 要素を指定された度数だけ時計回りに回転します。負の値も許可されており、要素は反時計回りに回転します。
  • scale() は、幅 (x 軸) と高さ (y 軸) のパラメータに応じて要素のサイズを拡大または縮小します。
  • skew() には、それぞれ X 軸と Y 軸の傾斜角度を表す 2 つのパラメータ値が含まれます。2 番目のパラメータが空の場合、デフォルト値は 0 です。負のパラメータは、反対方向への傾斜を示します。
  • matrix() マトリックス メソッドには、回転、拡大縮小、移動、傾斜機能を含む 6 つのパラメーターがあります。

必要な効果を達成する

もちろん、ここではコードをそのまま掲載しますが、コード内にはわかりやすいようにコメントも入っています。

/*cssコード*/

h2{
    位置: 相対的;
    パディング: 15px;
    テキスト配置: 中央;    
}
ボタン{
    幅: 100ピクセル;
    高さ: 40px;
    境界線の半径: 15px;
    境界線: なし;
    背景: #188FF7;
    色: #fff;
    アウトライン: なし;
    カーソル: ポインタ;
    フォントの太さ: 太字;
}
ボタン:ホバー{
    背景: #188EA7;
}
。容器{
    幅: 600ピクセル;
    ディスプレイ: フレックス;
    flex-direction: 列;
    アイテムの位置を中央揃えにします。
    マージン: 0 自動;
    
}
。ライン{
    位置: 絶対;
    左: 0;
    下部: 0;
    高さ: 3px;
    幅: 100%;
    遷移: 変換 .5s;
    背景: #188EA7;
    色: #188EA7;
    変換: scaleX(0);
    zインデックス: 1111;            
}

@keyframes changeColor1{
    から{
        色: #000;
    }
    に{
        色: #188EA7;
    }
}
@keyframes changeColor2{
    から{                
        色: #188EA7;
    }
    に{
        色: #000;
    }
}
<!--html コード-->

<div class="コンテナ">
    <h2 id="タイトル">
        Baidu フロントエンド アカデミー<i class="line" id="line"></i>
    </h2>
    <button id="change">変更</button>
</div>
//jsコードの部分(function(){
    btn = document.getElementById('change');
    h2 = document.getElementById('title'); とします。
    line = document.getElementById('line'); とします。
    count = 0 とします。
    btn.onclick = 関数(){
        if(count%2===0){
            line.style.transform = "scaleX(1)";
            h2.style.animation = "changeColor1 1s";
            h2.style.color = "#188EA7";
            カウント++;
        }それ以外{
            ラインスタイル変換 = "スケールX(0)";
            h2.style.animation = "changeColor2 1s";
            h2.style.color = "#000";
            カウント++;
        }
        
    }
})();

要約する

これまで、この効果について十分に説明し、CSS3 の transition プロパティと tranform プロパティについても学習しました。もちろん、このアニメーションを完成させるには、HTML と CSS の基本知識も必要です。

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

<<:  Dockerディスク容量不足の問題を解決する

>>:  一般的な XHTML タグの紹介

推薦する

Webフロントエンド開発エンジニアが習得すべきコアスキル

Web フロントエンド開発に含まれる内容は、主に W3C 標準の構造、動作、パフォーマンスです。では...

ウェブページのフラッシュアニメーションが表示されない問題の解決策

<br />解決手順は次のとおりです。スタート -> 実行 -> reged...

Linux での MySQL 5.7.18 バイナリ パッケージのインストール チュートリアル (デフォルトの構成ファイル my_default.cnf なし)

現在、MySQL を学習中です。私は完全な初心者で、Linux についてはあまり知りません。今後の作...

ウェブデザインにおける画像フォーマットとデザインの関係を詳しく説明

なぜこの領域のコンテンツを整理したいのでしょうか。それは、油絵の具とキャンバスを理解する必要があり、...

CSS 疑似要素を使用して複数の連続する要素のスタイルを制御する方法

CSS 疑似要素を使用して要素を制御する場合、一部の要素のスタイルを変更する必要があることがよくあり...

MySQL メタデータで Hive テーブル作成ステートメントのコメント スクリプトを生成する方法

序文この記事は主にMySQLメタデータ生成Hiveテーブル作成ステートメントコメントスクリプトに関す...

MySQL のテーブルリターンとインデックスカバレッジの例の詳細な説明

目次インデックスタイプインデックス構造非クラスター化インデックスクエリインデックスカバー要約するイン...

Docker コンテナで DockerFile を使用して複数の Tomcat サービスをデプロイする手順

1. [admin@JD ~]$ cd opt #ルートディレクトリにoptと入力2. [admin...

Vue での this.$set の使用に関する詳細な説明

目次Vue での this.$set の使用使用なぜレスポンシブなのか?分析する要約するVue での...

HTML+CSS3+JSで実装されたドロップダウンメニュー

成果を達成する html <div class="コンテナ"> &l...

VMware kali仮想マシン環境の設定方法

1|0 カーネルをコンパイルする(1)uname -rコマンドを実行してカーネルバージョンを表示しま...

HTML と CSS を使用して絵文字付きのコメント ボックスを作成する方法のチュートリアル

絵文字付きの HTML コメント ボックス。絵文字は Json データを通じて読み込まれ、好みに応じ...

MySQLユーザー権限テーブルについての簡単な説明

MySQL はインストール時に自動的に mysql という名前のデータベースを作成します。mysql...

Vue Element-ui はツリーコントロールノードを実装し、アイコンを追加します。詳細な説明

目次1. レンダリング2. データをバインドし、ツリーテーブルにラベルを追加する3. すべてのコード...

データベースの冗長フィールドを合理的に使用する方法

privot は、多対多の関係の中間テーブルです。 PT5 フレームワークは自動的に privot ...