Maison > interface Web > tutoriel CSS > Les effets de survol CSS peuvent-ils affecter les éléments non ciblés ?

Les effets de survol CSS peuvent-ils affecter les éléments non ciblés ?

Linda Hamilton
Libérer: 2024-12-11 01:20:09
original
274 Les gens l'ont consulté

Can CSS Hover Effects Affect Non-Targeted Elements?

Les effets de survol CSS peuvent-ils s'étendre à différents éléments ?

En CSS, il n'est pas directement possible d'appliquer des effets de survol sur un élément adjacent ou imbriqué dans un autre élément. Cela signifie que l'effet reste limité à l'élément auquel il est appliqué et que vous ne pouvez pas l'utiliser pour influencer d'autres éléments.

Effets descendants et frères et sœurs adjacents

Cependant, il existe deux exceptions à cette règle. lors de l'utilisation du sélecteur de frère adjacent ( ) ou du sélecteur de descendant (>) :

  • Adjacent Frères et sœurs : Si deux éléments sont frères et sœurs adjacents (apparaissent directement l'un après l'autre dans le code HTML), vous pouvez appliquer un effet à un élément en fonction de l'état de survol de l'autre à l'aide du sélecteur de frère adjacent. Par exemple :
#first-sibling:hover + #second-sibling {
  opacity: 0.3;
}
Copier après la connexion
  • Descendants : De même, si un élément est le descendant d'un autre (imbriqué à l'intérieur), vous pouvez appliquer un effet au descendant en fonction sur l'état de survol du parent à l'aide du sélecteur de descendant. Par exemple :
#parent-element:hover #child-element {
  opacity: 0.3;
}
Copier après la connexion

Résoudre votre problème

Dans votre exemple spécifique, vous souhaitez modifier l'opacité d'un élément appelé #thisElement lorsque l'utilisateur survole une image avec un classe de « img ». Cependant, vous ne pouvez pas cibler directement #thisElement à l'aide des effets de survol CSS sur "img". Au lieu de cela, vous pouvez envisager :

  1. Utiliser des frères et sœurs adjacents : Si #thisElement est le prochain frère adjacent de l'image après celle-ci dans le HTML, vous pouvez utiliser :
.img:hover + #thisElement {
  opacity: 0.3;
}
Copier après la connexion
  1. Utilisation de descendants : Si #thisElement est imbriqué dans le conteneur de l'image, vous pouvez utiliser :
.img-container:hover #thisElement {
  opacity: 0.3;
}
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