下線を実現するための 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 タグの紹介

推薦する

docker runコンテナの自動終了の解決策

今日、Dockerfile を使用してイメージを作成したときに問題が発生し、イメージの実行後にコンテ...

CSS グラデーション効果の概要 (線形グラデーションと放射状グラデーション)

線形グラデーション 背景画像: linear-gradient(方向、開始色、中間色1、中間色2、....

Linux の高並列性とパフォーマンス最適化の落とし穴の紹介

目次序文Linux アプリケーション実行中に開いているファイルが多すぎる問題の分析と解決Linux ...

Windows での MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル

この記事では、参考までにMySQL 8.0.15のインストールと設定方法のグラフィックチュートリアル...

Raspberry Pi 3B+ に 64 ビット Ubuntu システムと Docker ツールをインストールする詳細な手順

Raspberry Pi 3B に 64 ビット アプリケーション (64 ビット JDK など) ...

docker を使用して Spring Boot をデプロイし、Skywalking に接続する方法

目次1. 概要1. スカイウォーキング入門2. スカイウォーキング建築3. スカイウォーキングはどの...

ico ミラー コードを HTML に追加します (favicon.ico はルート ディレクトリに配置されます)

コード:コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC &...

Golang を使って Docker API を実際に操作する

目次SDKのインストールローカル Docker の管理コンテナの実行バックグラウンドでコンテナを実行...

CentOS での samba フォルダ共有サーバー構成の詳細な説明

1. はじめに最近、CentOS での開発には多くの不便があることがわかりました。Windows/M...

シンプルな虫眼鏡効果を実現するJavaScript

大きな箱の中に写真があります。マウスをその上に置くと、半透明のマスク レイヤーが表示されます。マウス...

MySQL 5.7.13 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

この記事では、参考までにMySQL 5.7.13 winx64のインストールと設定方法のグラフィック...

Promiseの紹介と基本的な使い方の簡単な分析

Promise は、ES6 で導入された非同期プログラミングのための新しいソリューションです。 Pr...

Vue3は現在のルーティングアドレスを取得します

正解useRouterの使用: // ルーターパス: "/user/:uid" ...

MySQL インデックス最適化の説明

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

WeChatアプレットはビデオプレーヤーのビデオコンポーネントを使用します

この記事の例では、WeChatアプレットのビデオプレーヤーコンポーネントの具体的なコードを参考までに...