Quelle est la différence entre ces deux sélecteurs ?
.classA.classB {
border: 1px solid;
}
.classA .classB {
border: 1px solid;
}
Quelle est la différence entre ces deux sélecteurs ?
.classA.classB {
border: 1px solid;
}
.classA .classB {
border: 1px solid;
}
.classA.classB
fait référence à un élément qui possède à la fois les classes A et B ( class="classA classB"
) ; considérant que .classA .classB
fait référence à un élément avec class="classB"
descendant d'un élément avec class="classA"
.
Edit : Spec pour référence : Sélecteurs d'attributs (Voir section 5.8.3 Sélecteurs de classe)
Un style comme celui-ci est beaucoup plus courant et vise tout type d'élément de la classe "classB" qui est imbriqué dans tout type d'élément de la classe "classA".
.classA .classB {
border: 1px solid; }
Il fonctionnerait, par exemple, sur :
<div class="classA">
<p class="classB">asdf</p>
</div>
Celui-ci, cependant, cible tout type d'élément qui est à la fois de la classe "classA" et de la classe "classB". Ce type de style est moins fréquent, mais reste utile dans certaines circonstances.
.classA.classB {
border: 1px solid; }
Cela s'applique à cet exemple :
<p class="classA classB">asdf</p>
Toutefois, elle n'aurait aucun effet sur les éléments suivants :
<p class="classA">fail</p>
<p class="classB">fail</p>
(Notez que lorsqu'un élément HTML possède plusieurs classes, elles sont séparées par des espaces).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.