LESS condition basée sur la classe CSS pour définir une variable LESS
J'ai besoin de Moins variable pour correspondre le site web du thème actif, c'est à dire, chaque thème a une couleur différente.
J'aimerais set @themeColor de la bonne couleur, basé sur le code HTML du corps de la classe CSS qui définit le thème.
Par exemple:
body.themeBlue { @themeColor: blue; }
body.themeRed { @themeColor: red; }
De cette façon, j'avais seulement besoin d'utiliser le @themeColor variable à l'intérieur de l'autre Moins de fichiers.
Peut aider quelqu'un?
Selon cette ( http://www.lesscss.org/#-scope ), il est possible de faire quelque chose comme ça, mais je ne peux pas le faire fonctionner. ce qui se passe ici?
source d'informationauteur kingarthurpt | 2013-03-12
Vous devez vous connecter pour publier un commentaire.
Le MOINS de fichiers ne peut pas lire à la classe réelle appliquée à l'html
body
élément au moment de l'exécution (vous aurez probablement besoin de mettre en œuvre une solution d'activer javascript pour faire quelque chose comme ça).Si vous voulez simplement avoir du tout sur le thème css prêt à utiliser en fonction de la
body
classe, la meilleure façon de mettre en œuvre ce pour avoir tout le nécessaire thème css dans un mixin, puis l'appliquer sous le thème des classes. Cela réduit la duplication de code. Par exemple:MOINS
CSS Sortie
Pour certains autres réponses qui traitent des aspects ou des façons de thématisation, voir:
Variables en Moins sont en fait des constantes et ne seront définis une fois pour toutes.
Champ d'application les œuvres à l'intérieur de son code entre accolades, de sorte que vous devez à votre nid CSS à l'intérieur de chaque thème que vous voulez (ce qui signifie la duplication).
Ce n'est pas l'idéal que vous auriez besoin pour ce faire:
Vous pouvez, cependant, essayez d'utiliser des variables comme ceci:
Vous n'aurez qu'à déclarer les couleurs une fois, mais vous devez constamment faire le "corps.themeRed" etc. les préfixes dont la couleur varie en fonction du thème.