Maison > interface Web > tutoriel CSS > le corps du texte

Pourquoi :hover et plusieurs sélecteurs de frères et sœurs adjacents provoquent-ils des bugs dans Safari et Chrome ?

Patricia Arquette
Libérer: 2024-10-24 03:42:30
original
967 Les gens l'ont consulté

Why Do :hover and Multiple Adjacent-Sibling Selectors Cause Bugs in Safari and Chrome?

Bogue Safari et Chrome avec :hover et plusieurs sélecteurs de frères et sœurs adjacents

Dans le développement Web, en utilisant la pseudo-classe :hover et adjacent Les sélecteurs -sibling sont généralement pris en charge par les principaux navigateurs tels que Safari, Chrome, Opera et Firefox. Par exemple, le code suivant fonctionne comme prévu :

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

Cependant, lorsque plusieurs sélecteurs de frères et sœurs adjacents sont ajoutés, les navigateurs Webkit (y compris Safari et Chrome) présentent un comportement inattendu :

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

Dans de tels cas, Webkit ne parvient pas à appliquer le style comme prévu.

Une solution de contournement pour résoudre ce bug consiste à utiliser une déclaration de style sur l'élément body pour créer un effet d'animation subtil :

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

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

Cette animation n'a aucun effet visible mais déclenche un recalcul de style, permettant aux navigateurs Webkit d'appliquer correctement les styles de sélecteur :hover et adjacent-sibling.

Voici un exemple pour démontrer la solution de contournement : http://jsfiddle. net/jalbertbowdenii/ds2yY/1/.

En employant cette technique, vous pouvez surmonter les bogues du Webkit et garantir un comportement cohérent sur différents navigateurs.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!