Heim >Web-Frontend >CSS-Tutorial >Wie kann ich ein übergeordnetes Element formatieren, wenn sich sein untergeordnetes Element darüber befindet, ohne einen übergeordneten Selektor zu verwenden?
Styling übergeordneter Elemente beim Hover untergeordneter Elemente ohne übergeordnete Auswahl
In CSS ist die direkte Ausrichtung auf übergeordnete Elemente basierend auf untergeordneten Interaktionen eine Herausforderung aufgrund der Fehlen eines übergeordneten Selektors. Es gibt jedoch eine clevere Problemumgehung, die es uns ermöglicht, diesen Effekt zu erzielen: Erstellen eines Pseudo-Wrappers innerhalb des übergeordneten Elements.
Betrachten Sie das gegebene Beispiel, in dem eine Löschschaltfläche beim Hover den übergeordneten Abschnitt hervorhebt:
<div> <p>Lorem ipsum ...</p> <button>Delete</button> </div>
Um den übergeordneten Abschnitt hervorzuheben, erstellen wir ein untergeordnetes Div, wobei pointer-events auf „auto“ gesetzt ist, während wir es für deaktivieren übergeordnetes Element:
div.parent { pointer-events: none; } div.child { pointer-events: auto; }
Jetzt wird das übergeordnete Element für Mausereignisse transparent, sodass das untergeordnete Div Hover-Effekte auslösen kann. Und wenn auf dem untergeordneten Element ein Hover-Ereignis auftritt, können wir das übergeordnete Element wie gewünscht gestalten:
div.parent:hover { background: yellow; }
Diese Technik stellt sicher, dass das übergeordnete Element auf Hover-Interaktionen auf seinem untergeordneten Element reagiert und so das Verhalten eines übergeordneten Selektors effektiv simuliert. Beachten Sie, dass pointer-events: auto für andere untergeordnete Elemente mit Ereignis-Listenern wiederhergestellt werden sollte, um deren Funktionalität beizubehalten.
Das obige ist der detaillierte Inhalt vonWie kann ich ein übergeordnetes Element formatieren, wenn sich sein untergeordnetes Element darüber befindet, ohne einen übergeordneten Selektor zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!