Maison > interface Web > tutoriel CSS > Comment puis-je modifier la couleur d'arrière-plan d'un conteneur parent lors du survol d'un enfant à l'aide de CSS ?

Comment puis-je modifier la couleur d'arrière-plan d'un conteneur parent lors du survol d'un enfant à l'aide de CSS ?

DDD
Libérer: 2024-12-08 18:09:11
original
363 Les gens l'ont consulté

How Can I Change a Parent Container's Background Color on Child Hover Using CSS?

Changer la couleur d'arrière-plan du conteneur parent lors du survol de l'enfant à l'aide de CSS

Beaucoup peuvent suggérer au départ que CSS manque de moyens pour cibler les éléments parents, mais le problème La modification de la couleur d'arrière-plan d'un conteneur parent lors du survol d'un enfant peut être résolue avec une solution intelligente.

Solution CSS utilisant pointer-events et :hover

Pour obtenir l'effet souhaité, créez trois règles CSS :

  1. Définissez pointer-events: none sur le div parent pour qu'il ne réponde plus événements de survol.
  2. Définissez le changement de couleur d'arrière-plan pour le parent dans le parent-div:hover sélecteur.
  3. Définissez pointer-events: auto sur l'élément enfant pour activer le déclenchement de l'événement de survol lorsque l'enfant est survolé.

Cette approche fonctionne car l'événement de survol parent est activé lorsqu'il est survolé. l'enfant est survolé, tandis que le parent ignore sa pseudo-classe de survol, permettant à l'événement de survol d'être déclenché uniquement sur le enfant.

Exemple

div {
  pointer-events: none;
}
div:hover {
  background: #F00;
}
div > a {
  pointer-events: auto;
}
Copier après la connexion
<div>
  <h1>Heading</h1>
  <a href="#">Anchor Text</a>
</div>
Copier après la connexion

Compatibilité

Cette solution est compatible avec IE 11 et Edge, Chrome et Firefox. Cependant, dans IE 11 et Edge, l'élément enfant doit avoir display: inline-block ou display: block pour que les événements de pointeur fonctionnent correctement.

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.cn
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