子要素の上にマウスを置いたときに親要素のホバー効果がトリガーされないようにするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-03 04:05:31
オリジナル
279 人が閲覧しました

How to Prevent a Parent Element's Hover Effect from Triggering When Hovering Over a Child Element?

親要素と子要素のホバー効果

カーソルがネストされた子の上に移動したときに親要素のホバー効果を無効にするという課題に対処するには

CSS :has セレクター (2024 年に導入)

CSS :has セレクターの導入により、子のホバー状態に基づいて親要素を決定します。例:

.parent:has(.child:hover) {
    background: normal;
}
ログイン後にコピー

このコードは、カーソルがクラス「child」の子要素の上に移動すると、クラス「parent」の親要素の背景色が元の状態に戻ることを保証します。

兄弟要素のトリック

:has セレクターが登場する以前の回避策は、兄弟要素を使用することでした。

<div class="parent">
    <div class="sibling"></div>
    <div class="child"></div>
</div>
ログイン後にコピー

兄弟要素は次のとおりです。絶対配置を使用して子要素をオーバーラップさせて配置します。子要素の上にマウスを移動すると、兄弟要素のホバー効果がアクティブになり、親要素のホバー効果がオーバーライドされます。

.child:hover ~ .sibling {
    background: #FFF; // Override parent's background color
}
ログイン後にコピー

制限事項

これらのソリューションは依存していることに注意してください。ネストされた要素の構造に依存するため、すべての場合に機能するとは限りません。

以上が子要素の上にマウスを置いたときに親要素のホバー効果がトリガーされないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート