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?

Wie kann ich ein übergeordnetes Element formatieren, wenn sich sein untergeordnetes Element darüber befindet, ohne einen übergeordneten Selektor zu verwenden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-27 03:10:08705Durchsuche

How Can I Style a Parent Element When Its Child is Hovered Without Using a Parent Selector?

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!

Stellungnahme:
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