CSS: survolez un autre élément?
Petite question: Pourquoi le background-color
de .b
ne change pas lorsque je hover? .a
?
CSS
.a {
color: red;
}
.b {
color: orange;
}
.a:hover .b {
background-color: blue;
}
HTML
<div id="wrap">
<div class="a">AAAA</div>
<div class ="b">BBBB</div>
</div>
source d'informationauteur Sven
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'avoir
.a:hover + .b
au lieu de.a:hover .b
.a:hover .b
serait travailler pour une structure commeSi, à un certain point, vous aurez besoin d'avoir quelques éléments entre .un et .b, alors vous aurez besoin d'utiliser
.a:hover ~ .b
qui travaille pour tous les frères et soeurs de.a
venir après ilet pas seulement à la prochaine.Démo http://jsfiddle.net/thebabydino/EajKf/
Pouvez-vous pas faire quelque chose comme
a:hover + b
? voir http://meyerweb.com/eric/articles/webrev/200007a.htmlVous pouvez utiliser + sélecteur de
pour appliquer le css pour l'élément frère, ou
pour la classe imbriquée.
parce que .b n'est pas un enfant de .un, de sorte que le sélecteur n'est pas de trouver quoi que ce soit. Utiliser javascript pour faire ce que vous voulez faire.
Il y a deux choses que vous pouvez faire.
Soit modifier votre code HTML à faire
.b
un enfant de.a
OU
Modifier votre css pour utiliser le sélecteur adjacent
pas de js nécessaires http://jsfiddle.net/2NEgt/3/
Vous ne devriez pas changer un frère ou une sœur du style lorsqu'un événement se produit sur un élément différent. C'est dans le contexte de la CSS.
Utiliser JavaScript pour atteindre cet objectif, par exemple:
essayer de comprendre cet exemple:
code html
lorsque vous passez la souris sur la zone 1 de la zone 3 obtiendrez la couleur noire
Jquery est une bonne solution à ce problème:
html:
script:
Mettre ce script dans votre code html si vous le souhaitez. C'est tout.