Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie kann verhindert werden, dass der Hover-Effekt eines übergeordneten Elements ausgelöst wird, wenn man mit der Maus über ein untergeordnetes Element fährt?

Susan Sarandon
Freigeben: 2024-11-03 04:05:31
Original
278 Leute haben es durchsucht

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

Hover-Effekt auf übergeordnete und untergeordnete Elemente

Um die Herausforderung zu bewältigen, den Hover-Effekt eines übergeordneten Elements zu deaktivieren, wenn sich der Cursor über ein verschachteltes untergeordnetes Element bewegt Element, betrachten wir die folgende Lösung:

CSS :has Selector (eingeführt im Jahr 2024)

Mit der Einführung des CSS :has Selector können Sie einen direkt stylen übergeordnetes Element basierend auf dem Hover-Status seines untergeordneten Elements. Zum Beispiel:

.parent:has(.child:hover) {
    background: normal;
}
Nach dem Login kopieren

Dieser Code stellt sicher, dass die Hintergrundfarbe des übergeordneten Elements mit der Klasse „parent“ in ihren ursprünglichen Zustand zurückkehrt, wenn der Cursor über das untergeordnete Element mit der Klasse „child“ fährt.

Geschwisterelement-Trick

Vor dem :has-Selektor bestand eine Problemumgehung darin, ein Geschwisterelement zu verwenden:

<div class="parent">
    <div class="sibling"></div>
    <div class="child"></div>
</div>
Nach dem Login kopieren

Das Geschwisterelement ist mit absoluter Positionierung positioniert, um das untergeordnete Element zu überlappen. Wenn Sie den Mauszeiger über das untergeordnete Element bewegen, wird der Hover-Effekt des Geschwisterelements aktiviert und überschreibt den Hover-Effekt des übergeordneten Elements.

.child:hover ~ .sibling {
    background: #FFF; // Override parent's background color
}
Nach dem Login kopieren

Einschränkungen

Beachten Sie, dass diese Lösungen abhängig sind hängt von der Struktur der verschachtelten Elemente ab und funktioniert möglicherweise nicht in allen Fällen.

Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass der Hover-Effekt eines übergeordneten Elements ausgelöst wird, wenn man mit der Maus über ein untergeordnetes Element fährt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage