Dans mon CSS, j'ai quelque chose comme ceci:Existe-t-il un moyen plus efficace d'écrire du CSS avec des classes ayant une relation un-à-plusieurs?
.classA .class1,
.classA .class2,
.classA .class3 a:hover,
.classA .class4,
.classA #id1,
.classA .class5
{ color: white;}
.classA .class1,
.classA .class6
{ background-color: red;}
etc ...
Depuis que je répète .classA
tant, je me demandais s'il y a un moyen plus efficace d'écrire cela?
Mon cas d'utilisation:
Je styling différentes pages avec des éléments similaires, mais avec différentes combinaisons de couleurs. Donc plutôt que .classA j'ajoute une classe de .Orange à une page et disons, .vert à l'autre, .Blue à un tiers. Ensuite, j'applique respectivement les styles orange, vert et bleu aux éléments de ces pages.
.Orange .btn,
.Orange .accordion-heading,
.Orange .promo-box {color: orange; background: white;}
.Orange h2 {color: orange;}
.Green .btn,
.Green .accordion-heading,
.Green .promo-box {color: green; background: white;}
.Green h2 {color: green;}
Que représentent réellement ces classes? "Relation un-à-plusieurs" n'explique pas beaucoup. – Ryan
Vous appliquez fondamentalement des styles à .class2, .class3 etc. ici s'ils existent n'importe où dans .classA. Si ce n'est pas votre principale exigence, vous pouvez séparer les classes. – Amit
Si vous devez spécifier .classA en tant que parent pour tous ces éléments, alors non, je ne peux pas y penser. Il serait beaucoup plus facile d'écrire ce code dans un préprocesseur comme LESS ou SASS, car vous pouvez simplement imbriquer toutes les autres classes sous .classA ou utiliser mixins pour répéter le code rapidement. – Jesse