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

推薦する

AWS無料サーバーアプリケーションとネットワークプロキシ設定チュートリアルの詳細な説明

目次予防必要条件AWSアカウントを申請する仮想マシンの申請と有効化仮想マシンを申請するセキュリティグ...

テンプレートタグの使用方法の詳細な説明(Vue での使用方法の概要を含む)

目次1. HTML5のテンプレートタグ2. テンプレートタグ操作のプロパティとメソッド3. Vueの...

a href=# と a href=javascript:void(0) の違いの詳細な説明

a href="#"> リンクをクリックすると、ページがページ上部までスク...

Dockerにおけるオーバーレイネットワークの詳細な説明

Docker 公式ドキュメントからの翻訳、原文: https://docs.docker.com/n...

Vue3は画像拡大鏡効果を実現します

この記事の例では、画像拡大鏡効果を実現するためのVue3の具体的なコードを参考までに共有しています。...

Win10 64 ビットで圧縮パッケージを使用して最新の MySQL 8.0.18 をインストールするチュートリアル (画像とテキスト付き)

WIN10 64ビットに最新のMySQL8.0.18をインストールダウンロード公式サイトから最新バ...

「fsck」を使用して Linux のファイルシステムエラーを修正する方法

序文ファイル システムは、データの保存方法と復元方法を整理する役割を担います。 いずれにせよ、時間の...

IE8 ベータ 1 には注意が必要な 2 つの領域があります

<br />関連記事: Web スキル: 複数の IE バージョンを共存させるソリューシ...

JDBC を使用して MySQL を操作するための簡単な分析では、Class.forName("com.mysql.jdbc.Driver") を追加する必要があります。

導入データベースに接続するためにJDBCを使用することに慣れている場合は、データベースに接続するため...

MySQL データベースのマスター・スレーブ レプリケーションと読み取り/書き込み分離

目次1. マスタースレーブレプリケーションマスタースレーブレプリケーション3スレッドマスタースレーブ...

Docker Consul の概要とクラスター環境構築手順(グラフィカルな説明)

目次1. Dockerコンサルの概要2. nginxとconsulをベースにした自動検出と高可用性の...

コードレイン効果を実現するJavaScriptキャンバス

この記事では、コードレイン効果を実現するためのキャンバスの具体的なコードを参考までに共有します。具体...

mysql5.7.33 で誤って ibdata ファイルを削除した後にデータを回復する方法

目次1. シナリオの説明: 2. 事例のデモンストレーション: 2.1. MySQLの障害発生前にデ...

MySQLの詳細な分析で使用法と結果を説明します

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

JavaScript で簡単なモグラ叩きゲームを実装する

この記事では、モグラ叩きゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介し...