Heim  >  Artikel  >  Web-Frontend  >  Warum funktioniert :hover nicht ordnungsgemäß mit Selektoren für benachbarte Geschwister in Webkit-Browsern?

Warum funktioniert :hover nicht ordnungsgemäß mit Selektoren für benachbarte Geschwister in Webkit-Browsern?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 02:42:29996Durchsuche

Why Doesn't :hover Work Properly with Adjacent-Sibling Selectors in Webkit Browsers?

Webkit-Fehler mit mehreren Selektoren für benachbarte Geschwister

In Webkit-Browsern (Safari, Chrome) tritt ein Problem auf, wenn das :hover-Pseudo verwendet wird -Klasse mit mehreren benachbarten Geschwisterselektoren. Der folgende Code veranschaulicht das Problem:

div:hover + a + div {}

Wenn Sie mit der Maus über das

Element wird der Stil nicht korrekt angewendet. Wenn Sie jedoch mit der Maus über das Zuerst und dann
wird der Stil wie erwartet angewendet.

Das Hinzufügen eines allgemeinen Geschwisterselektors, wie zum Beispiel:

div:hover ~ div {}

Unabhängig davon, ob ein Stil deklariert ist, wird das Problem behoben Problem.

Eine Problemumgehung für diesen Webkit-Fehler besteht darin, eine Animation auf dem Body-Element zu fälschen:

body {
  -webkit-animation: bugfix infinite 1s;
}

@-webkit-keyframes bugfix {
  from {
    padding: 0;
  }

  to {
    padding: 0;
  }
}

Dies kann hier in Aktion gesehen werden: https://jsfiddle.net/jalbertbowdenii/ ds2yY/1/.

Das obige ist der detaillierte Inhalt vonWarum funktioniert :hover nicht ordnungsgemäß mit Selektoren für benachbarte Geschwister in Webkit-Browsern?. 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