CSS を使用してマウスをホバーすることで他のタグのスタイルを変更するサンプルコード

CSS を使用してマウスをホバーすることで他のタグのスタイルを変更するサンプルコード

序文:

私の知る限り、現在 CSS で制御できるのは、タグをホバーしたときにそのタグの下の兄弟タグとサブタグのスタイルのみです。良い方法があれば、ぜひアドバイスをお願いします。
他のタグの制御(制御タグと制御対象タグの関係に基づく)は、次の 3 つのタイプに分けられます。

  • この記事のコントロールタグは.div1です
  • 制御タグは.div2です

1. サブタグを制御する(.div1:hover と .div2 の間にスペースを入れる)

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <タイトル></タイトル>
        <スタイル タイプ="text/css">
            .div1,.div2 {
                幅: 200ピクセル;
                高さ: 100px;
                背景色: ピンク;
            }
            .div2 {
                背景色: 水色;
                表示: なし;
            }
            .div1:ホバー .div2 {
                表示: ブロック;
            }
        </スタイル>
    </head>
    <本文>
        <div class="div1">div1
            <div class="div3">div3</div>
            <div class="div2">div2</div>
        </div>
    </本文>
</html>

制御されるタグが制御タグの子タグである限り、他のタグ (.div3 など) は効果に影響を与えません。

2. 兄弟タグを制御する(.div1:hoverと.div2の間に+を使用する)

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <タイトル></タイトル>
        <スタイル タイプ="text/css">
            .div1,.div2 {
                幅: 200ピクセル;
                高さ: 100px;
                背景色: ピンク;
            }
            .div2 {
                背景色: 水色;
                表示: なし;
            }
            .div1:ホバー+.div2 {
                表示: ブロック;
            }
        </スタイル>
    </head>
    <本文>
        <div class="div1">div1</div>
        <!-- <div class="div3">div3</div> -->
        <div class="div2">div2</div>
    </本文>
</html>

「+」を使用する場合、.div2 は .div のすぐ後ろに配置する必要があります。そうしないと効果がありません。 ! !たとえば、.div3 のコメントを解除すると、.div1 は .div2 のスタイルを制御できなくなります。 ! !制御タグと制御対象タグの間にコンテンツがある場合は、3 番目の方法で記述する必要があります。

3. 兄弟タグを制御する(コンテンツが中央にある)(.div1:hover と .div2 の間では ~ を使用する)

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <タイトル></タイトル>
        <スタイル タイプ="text/css">
            .div1,.div2 {
                幅: 200ピクセル;
                高さ: 100px;
                背景色: ピンク;
            }
            .div2 {
                背景色: 水色;
                表示: なし;
            }
            .div1:hover~.div2 {
                表示: ブロック;
            }
        </スタイル>
    </head>
    <本文>
        <div class="div1">div1</div>
        <div class="div3">div3</div>
        <div class="div2">div2</div>
    </本文>
</html>

この方法を使用するための要件は、制御タグが制御タグの下にあり、その間に任意のコンテンツが存在することができることです。

要約:

サブタグを制御する

間にスペースを入れる

すぐ後ろにある兄弟ラベルを制御します

真ん中に「+」を入れる

後続の兄弟タグを制御する

真ん中に「~」を入れる

これで、マウスをホバーしたときに他のタグのスタイルを変更する CSS の使用方法に関するこの記事は終了です。マウスをホバーしたときに他のタグのスタイルを変更する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Div CSS 命名標準 CSS クラスの命名規則 (SEO 標準に準拠)

>>:  aタグ内のテキストを非表示にして画像を表示するには?360モードレンダリングに対応

推薦する

XHTML CSSを使用して正式なブログを書く

ブログの正式名称は「Web log」で、中国語で「ネットワークログ」を意味します。後にブログに短縮さ...

vue.js 動的コンポーネントの詳細な説明

:動的コンポーネントv-bind:is="component name" を使用...

Nginxを使ってサーバー内で複数コンテナの共存を実現する方法

背景Tencent Linux クラウド ホストがあり、その上に Docker (ServiceDo...

Linux仮想マシンを作成し、仮想マシンネットワークを設定する方法に関するVMwareの詳細なチュートリアル

VMware で Linux 仮想マシンを作成し、VMware と仮想マシンのネットワークを設定する...

Apache ab同時負荷ストレステストの実装方法

腹筋コマンドの原則Apache の ab コマンドは、マルチスレッドの同時リクエストをシミュレートし...

React Diff Principle の詳細な分析

目次差分アルゴリズムレイヤーごとの比較同じタイプのコンポーネントを比較する同じタイプの要素の比較子ノ...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

JavaScript の基本オブジェクト

目次1. オブジェクト1.1 オブジェクトとは何ですか? 1.2 なぜオブジェクトが必要なのか? 2...

HTMLフロートの使用法の簡単な分析

float の使用例左サスペンション: float:left;右サスペンション: float:rig...

CSSスタイルシートを効率的に使用するためのヒント: スタイルシートの力を最大限に活用する

インターネット経済の継続的な発展に伴い、インターネット上の専門ウェブサイト、公共サービスウェブサイト...

JavaScript の構造化代入の一般的なシナリオと例 5 つ

目次序文1. データを抽出する2. エイリアス値3. 動的プロパティ4. オブジェクトの分解における...

MySQL で group by を使用すると常にエラー 1055 が発生します (推奨)

MySQL で group by を使用すると常にエラー 1055 が発生するため、原因を確認する...

JS ES6における構造化分解についてお話しましょう

概要es6 では、配列またはオブジェクトから指定された要素を取得する新しい方法が追加されました。これ...

jQueryアニメーションを理解するのに役立つ記事

目次1. 要素の表示と非表示を制御する show() hide() 2. 要素の透明度を制御する f...

mysql57サービスが突然消えた問題をすぐに解決する

1つ、 G:\MySQL\MySQL Server 5.7\bin> mysqld --ini...