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

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

CSS 疑似要素を使用して要素を制御する場合、一部の要素のスタイルを変更する必要があることがよくあります。インターネット上には、1 つの要素の変更を制御する方法について説明したブログがたくさんありますが、実際の執筆プロセスでは、連続する複数の要素の変更を制御する必要があることの方が多いことがわかりました。

疑似要素を使用して制御します (:hover を例にします)。マウスが A に留まると、BCD のスタイルが変更されます...

AとBCDは隣接しており、同じレベルであるため、AはBCDの一番上にある必要があります。

<div class="A"></div>
<div class="B"></div>
<div class="C"></div>
<div class="D"></div>

//BCD を制御する A に対応する CSS コード。A:hover + .B{
        背景色: オレンジ;
    }
    .A:ホバー + .B+ .C{
        背景色: オレンジ;
    }
    .A:ホバー + .B+ .C+ .D{
        背景色: オレンジ;
    }

A を別の位置に移動すると効果が得られません。また、CSS の下部に制御コードのみを記述すると、3 番目の要素のスタイル変更しか制御できず、複数の要素を同時に変更することはできません。

AはBCDです...父と息子の関係です

<div class="A">
    <div class="B"></div>
    <div class="C"></div>
    <div class="D"></div>
</div>

//対応するCSSコード.A:hover .B{
        背景色: オレンジ;
    }
    .A:ホバー .B+ .C{
        背景色: オレンジ;
    }
    .A:ホバー .B+ .C+ .D{
        背景色: オレンジ;
    }

最初のものは、要素 + 要素は隣接する要素を制御するため、実際には非常に理解しやすいです。A と CD は直接隣接していないため、一度に 1 レベルずつ検索します。まず B を検索します。BC は隣接しているため、制御を開始できます。D についても同様です。

2 番目のコードでは、要素 element は親ノードが子ノードを制御する方法です。A は B を直接制御できます。C を制御する必要がある場合は、まず B を見つけます。BC は隣接しているため、隣接要素の制御方法を使用して C を制御します。D についても同様です。

これで、CSS 疑似要素を使用して複数の連続する要素のスタイルを制御する方法についてのこの記事は終了です。要素を制御する CSS 疑似要素の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Vue の基本リスナーの詳細な説明

>>:  CentOS 8にdockerをインストールする最も詳細な方法

推薦する

MySQL のグループ分けの例

mysql のような php switch case ステートメント。 xxフィールドを選択、ケース...

インデックスを使用して数千万のデータを持つ MySQL のクエリ速度を最適化する

1. インデックスの役割一般的に言えば、インデックスは本の目次に相当します。条件に基づいてクエリを実...

Centos6.5 の rpm パッケージから mysql5.7 をインストールするときに発生する初期化エラーの解決策

1. rzをサーバーにアップロードして解凍する rz [root@mini2 アップロード]# ta...

シェルスクリプト nginx 自動化スクリプト

このスクリプトは、nginxの起動、停止、再起動の操作を満たすことができます。 #!/bin/bas...

「さらに表示」ボタンによる複数行テキストの切り捨てに関する考察

最近、たまたまこの小さな要件に遭遇しました。昔、JS を使用してこれを処理したことを覚えていますが、...

Zabbixを使用してMySQLを監視する方法

Zabbix 導入ドキュメントzabbix導入後zabbixエージェントの操作1. MySQLを監視...

Mysql はテーブル内の古いデータを定期的にクリアし、いくつかのデータを保持します (推奨)

以下の目標を達成するため: Mysql データベースは、一定の間隔 (2 時間または 1 日、カスタ...

Vueシングルページアプリケーションの事前レンダリング方法の例

目次序文vue-cli 2.0 バージョンvue-cli 3.0 バージョン要約する序文vue-cl...

Mysql は非集計列を選択できません

1. はじめに最近ブログをアップグレードし、記事ページの下部に前の記事と次の記事に直接ジャンプできる...

Linux nohup はプログラムをバックグラウンドで実行し、表示します (nohup と &)

1. バックグラウンド実行一般的に、Linux 上のプログラムは .sh ファイル (./sh フ...

CentOS に MySQL 8.0 をインストールして設定するための詳細な手順

序文CentOS に MySQL をインストールして設定する手順は次のとおりです。文章yumソースか...

Mysql で自動増分主キー ID を更新するときに問題が発生しました

目次自動インクリメント ID を更新する理由は何ですか?質問解決方法これは私が知っている問題ですが、...

HTML にネストされた div の無効なマージンに対する解決策

div がネストされているときに margin が機能しない問題の解決策を次に示します。さて、マージ...

Reactの状態管理の3つのルールのまとめ

目次序文No.1 焦点No.2 複雑な状態ロジックの抽出No.3 複数状態操作の抽出要約する序文Re...

Vueプロジェクトでvuexを使用する方法

目次Vuex とは何ですか? Vuex 使用サイクル図私のストアディレクトリvuexの例の実装要約す...