Maison > interface Web > tutoriel CSS > Comment résoudre le bogue du kit Web des sélecteurs :hover et Adjacent-Sibling ?

Comment résoudre le bogue du kit Web des sélecteurs :hover et Adjacent-Sibling ?

DDD
Libérer: 2024-10-24 00:06:29
original
674 Les gens l'ont consulté

How to Resolve the :hover and Adjacent-Sibling Selectors Webkit Bug?

Comprendre et résoudre le bug de Webkit avec :hover et les sélecteurs de frères et sœurs adjacents

Dans les navigateurs Webkit (par exemple, Chrome, Safari), un bug se produit lors de l'utilisation de la pseudo-classe :hover avec plusieurs sélecteurs de frères et sœurs adjacents. Plus précisément, l'effet de survol ne sera pas appliqué comme prévu lorsqu'un troisième frère ou sœur adjacent est introduit.

Par exemple :

a:hover + div {}
Copier après la connexion

Ce code fonctionne parfaitement. Cependant, l'ajout d'un autre sélecteur de frère adjacent :

div:hover + a + div {}
Copier après la connexion

Crompt le comportement prévu dans les navigateurs Webkit.

Curieusement, si vous survolez d'abord l'élément d'ancrage, puis l'élément div, le style est appliqué correctement. De plus, l'inclusion du sélecteur adjacent ~ frère résout le problème, même si aucun style n'est déclaré :

div:hover ~ div {}
Copier après la connexion

Pour résoudre ce bug, vous pouvez implémenter une solution de contournement en simulant une animation sur l'élément body :

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

@-webkit-keyframes bugfix { 
  from { padding: 0; } 
  to { padding: 0; } 
}
Copier après la connexion

En déclenchant une animation vide sur le corps, vous pouvez efficacement contourner le bug. Vous pouvez vérifier la solution sur ce JSFiddle : http://jsfiddle.net/jalbertbowdenii/ds2yY/1/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal