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をインストールする最も詳細な方法

推薦する

Vueは完全な選択機能を実装しています

この記事の例では、完全な選択機能を実装するためのVueの具体的なコードを参考までに共有しています。具...

arcgis.js は、マップ本体の表示範囲を制御し、領域を超えた場合に自動的にバウンスするようにします (実装のアイデア)

目次背景効果アイデア背景少し前に、会社のプロジェクトで問題が発生しました。地図のベースマップ領域の範...

docker コマンド例外「権限が拒否されました」の解決方法

Linuxシステムでは、dockerを新しくインストールし、次のようなコマンドを入力します。dock...

nginx 設定の場所の概要の場所の通常の書き込みと書き換えルールの書き込み

1. 場所の正規表現例を見てみましょう: 場所 = / { # 完全一致 / 、ホスト名の後に文字列...

Mybatis での動的 SQL ステートメント分析

この記事は主にMybatisでの動的SQL文の解析について紹介します。この記事のサンプルコードは非常...

MySQL 4G メモリ サーバー構成の最適化

会社のウェブサイトのアクセス数が増えてくると(1日10万PV以上)、当然MySQLがボトルネックにな...

独自の Docker イメージを作成して Dockerhub にアップロードする方法

1. まず、自分のdockerhubアカウントを登録します。登録アドレス: https://hub....

ログインスライダー検証を実装するJavaScript

この記事では、ログインスライダー検証を実装するためのJavaScriptの具体的なコードを参考までに...

vue3 を使用してカウント関数コンポーネントのカプセル化例を実装する

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...

CSS3 のメディアクエリと rem レイアウトを組み合わせてモバイル画面に適応

CSS3 構文: (750 ピクセルのデザインの場合、1rem = 100 ピクセル) @media...

スネークゲームを作るための Pygame コード

目次使用されるPygame関数スクリーンの作成ヘビの作成ヘビを動かすゲームオーバーの処理食事を増やす...

MySQLのSQL文はインデックスを使用しません

インデックス集約を使用しない MySQL クエリご存知のとおり、インデックスを追加することはクエリ速...

tdが空の場合に境界線を表示する方法

以前、CSS を使用してテーブルの border + bordercolordark + borde...

WindowsにOpenSSLをインストールし、OpenSSLを使用して公開鍵と秘密鍵を生成します。

1. OpenSSL公式サイト公式ダウンロードアドレス: https://www.openssl....

MySQL-8.0.26 構成グラフィックチュートリアル

はじめに: 最近、会社のプロジェクトでデータベースのバージョンが変更されました。ここでは、MySQL...