Maison > interface Web > tutoriel CSS > Comment puis-je modifier la couleur d'arrière-plan d'un conteneur parent uniquement lorsque je survole un élément enfant à l'aide de CSS ?

Comment puis-je modifier la couleur d'arrière-plan d'un conteneur parent uniquement lorsque je survole un élément enfant à l'aide de CSS ?

Susan Sarandon
Libérer: 2024-12-30 10:20:11
original
754 Les gens l'ont consulté

How Can I Change a Parent Container's Background Color Only When Hovering Over a Child Element Using CSS?

Au survol de l'enfant, modifiez la couleur d'arrière-plan du conteneur parent (CSS uniquement)

Bien qu'il soit généralement impossible de cibler les éléments parents directement avec CSS , il existe des solutions de contournement pour des scénarios spécifiques. Un de ces scénarios consiste à changer la couleur d'arrière-plan d'un conteneur parent lorsque vous survolez son élément enfant.

Solution : événements de pointeur et :hover

Cette méthode exploite les événements de pointeur et la pseudo-classe :hover :

  1. événements de pointeur : aucun sur parent : Cela rend l'élément parent non interactif, ignorant les événements de survol.
  2. :survoler le parent : Définissez le changement de couleur d'arrière-plan souhaité sur l'élément parent lors du survol.
  3. pointer-events : auto on child : Réactivez les événements de survol uniquement pour les éléments enfants, leur permettant ainsi de déclencher le changement de couleur d'arrière-plan sur le parent.

Compatibilité :

  • Fonctionne dans IE 11 et Edge, Chrome et Firefox.
  • Remarque : IE 11 et Edge exigent que l'élément enfant ait display: inline-block ou affichage : bloquer pour que les événements de pointeur fonctionnent.

Exemple :

div {
  height: 200px;
  width: 200px;
  text-align: center;
  pointer-events: none;
}
div:hover {
  background: #F00;
}
div > a {
  pointer-events: auto;
  display: inline-block;
}
Copier après la connexion
<div>
  <h1>Heading</h1>
  <a href="#">Anchor Text</a>
</div>
Copier après la connexion

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!

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