Heim >Web-Frontend >CSS-Tutorial >Wie kann ich mithilfe von CSS die Hintergrundfarbe eines übergeordneten Containers beim Hover eines untergeordneten Containers ändern?
Ändern der Hintergrundfarbe des übergeordneten Containers beim Schweben des untergeordneten Elements mit CSS
Viele mögen zunächst vermuten, dass CSS keine Möglichkeit hat, übergeordnete Elemente gezielt anzusprechen, aber das Problem ist Das Problem, die Hintergrundfarbe eines übergeordneten Containers beim Bewegen des untergeordneten Containers zu ändern, kann mit einer cleveren Lösung gelöst werden.
CSS-Lösung mit pointer-events und :hover
Um den gewünschten Effekt zu erzielen, erstellen Sie drei CSS-Regeln:
Dieser Ansatz funktioniert, weil das übergeordnete Hover-Ereignis aktiviert wird, wenn es aktiviert ist Das untergeordnete Element wird mit der Maus bewegt, während das übergeordnete Element seine Hover-Pseudoklasse ignoriert, sodass das Hover-Ereignis nur auf der ausgelöst werden kann Kind.
Beispiel
div { pointer-events: none; } div:hover { background: #F00; } div > a { pointer-events: auto; }
<div> <h1>Heading</h1> <a href="#">Anchor Text</a> </div>
Kompatibilität
Diese Lösung ist kompatibel mit IE 11 und Edge, Chrome und Firefox. In IE 11 und Edge muss das untergeordnete Element jedoch display: inline-block oder display: block haben, damit Zeigerereignisse ordnungsgemäß funktionieren.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von CSS die Hintergrundfarbe eines übergeordneten Containers beim Hover eines untergeordneten Containers ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!