J'utilise MOINS pour améliorer mon CSS et j'essaye d'imbriquer une classe dans une classe. Il existe une hiérarchie assez compliquée, mais pour une raison quelconque, mon imbrication ne fonctionne pas. J'ai ceci:
.g {
float: left;
color: #323a13;
.border(1px,#afc945);
.gradient(#afc945, #c8da64);
.common;
span {
.my-span;
.border-dashed(1px,rgba(255,255,255,0.3));
}
.posted {
.my-posted;
span {
border: none;
}
}
}
Je ne peux pas avoir le .g.posted
travailler. il montre juste le .g
peu. Si je fais ça, c'est bien:
.g {
float: left;
color: #323a13;
.border(1px,#afc945);
.gradient(#afc945, #c8da64);
.common;
span {
.my-span;
.border-dashed(1px,rgba(255,255,255,0.3));
}
}
.g.posted {
.my-posted;
span {
border: none;
}
}
J'aimerais nidifier le .posted
dans .g
bien que. Des idées?
Le &
Le caractère a la fonction d'un mot-clé this
, en fait (une chose que je ne connaissais pas au moment d'écrire la réponse). Il est possible d'écrire:
.class1 {
&.class2 {}
}
et le CSS qui sera généré ressemblera à ceci:
.class1.class2 {}
Pour la petite histoire, @grobitto a été le premier à publier cette information.
[RÉPONSE ORIGINALE]
MOINS ne fonctionne pas de cette façon.
.class1.class2 {}
- définit deux classes sur le même nœud DOM, mais
.class1 {
.class2 {}
}
définit les nœuds imbriqués. .class2
ne sera appliqué que s’il s’agit d’un enfant d’un nœud de la classe class1
.
J'ai également été confondu avec cela et ma conclusion est que MOINS a besoin d'un mot clé this
:).
.g {
&.posted {
}
}
vous devriez ajouter "&" avant .posted
Si l'esperluette est située juste à côté de l'élément enfant lors de l'imbrication, il est compilé dans un sélecteur de classe double. S'il y a un espace entre & et selector, il sera compilé dans le sélecteur enfant. En savoir plus sur l'imbrication dans Less here .