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

推薦する

Mysql+JavaSwing に基づくスーパーマーケット商品管理システムの設計と実装

目次1. 機能紹介2. キーコード2.1 ホームページの機能2.2 製品情報を追加する2.3 データ...

MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します

1. SHOW PROCESSLISTコマンドSHOW PROCESSLIST は実行中のスレッド ...

CSS3は小さな矢印のさまざまなグラフィック効果を実現します

CSS を使ってさまざまなグラフィックを実現できるのは素晴らしいことです。画像を切り取る必要はなく、...

eject を使用せずに create-react-app の設定を変更する方法

1. イジェクトが推奨されないのはなぜですか? 1. eject を実行した後、どのような変化があり...

MYSQL 文字関数を使用してデータをフィルタリングすることに関する質問

問題の説明:構造:テストには2つのフィールドがあります。これらは col1 と col2 で、どちら...

CentOS での MySQL ワークベンチのインストールと設定のチュートリアル

この記事では、MySQL Workbenchのインストールと設定のチュートリアルを参考までに紹介しま...

AWSサーバーリソースを無料で使用する方法を教えます

AWS - Amazon のクラウド コンピューティング サービス プラットフォーム以前、AWS の...

10分でCSS3グリッドレイアウトを理解する

基本的な紹介前回の記事では、CSS3 のフレックスボックスを紹介しました。今日は、CSS3 のもう ...

HTMLフォーム入力監視の詳細な理解

今日、入力イベントに関するブログ投稿を見て、気まぐれで関連情報を整理してみました。イベント:関数 c...

Win10にmysql8.0.15 winx64をインストールしてサーバーに接続する際に問題が発生しました

1. mysql-8.0.15をダウンロード、インストール、設定する1. 公式サイト (https:...

MySQL ベースのストレージエンジンとログの説明 (包括的な説明)

1.1 ストレージエンジンの概要 1.1.1 ファイルシステムストレージファイル システム: オペ...

MySQL の concat 関数についての簡単な説明。MySQL でフィールドの前または後に文字列を追加する方法

MySQL で concat 関数を使用する方法: CONCAT(文字列1、文字列2、…)戻り値は、...

CSSでできるならJavaScriptは使わない

序文JavaScript で記述できるアプリケーションは、最終的には JavaScript で記述さ...

JavaScriptでマクロを使用する方法

言語では、DSL を実装するためにマクロがよく使用されます。マクロを使用すると、開発者は JSX 構...