72 votes

less.css partage les variables entre les fichiers

J'utilise less.css pour simplifier mon style css. J'aimerais déclarer une variable dans un fichier less et partager son utilisation entre mes nombreux fichiers less. Est-ce possible ? Par exemple :

anglais.moins

@languageFloat : gauche ;

chart.less

div#footer a.web
{   
    display: block;
    float: @languageFloat;
    color: #cccccc;
    margin-right: 10px;
}

79voto

Nathan Strutz Points 5877

Le meilleur moyen d'y parvenir est de @import votre fichier LESS contenant toutes vos variables. Voici la syntaxe de l'élément @import mot-clé :

// For LESS file includes,
@import "lib.less";
// or
@import "lib"; // infers the .less extension

// and for plain CSS includes which are added but not parsed by LESS
@import "style.css";

Cela fonctionne particulièrement bien si vous servez des fichiers CSS à vos utilisateurs (par opposition à l'analyse syntaxique de less.js dans le navigateur), car le fichier @import va regrouper vos fichiers LESS et CSS en un seul fichier CSS. Vous pouvez peut-être envisager d'avoir un fichier LESS de contrôle qui inclut vos variables, puis vos autres fichiers LESS et CSS afin que le résultat final soit un seul fichier que vous servirez au navigateur.

J'imagine que ce serait quelque chose de simple comme ça :

// Controller.less
@import "english.less";
@import "chart.less";

0 votes

Intéressant, mais je dois partager un fichier css conditionnel, l'anglais pouvant être remplacé par l'allemand, le russe, etc. Puis-je importer des bibliothèques css de manière conditionnelle ?

4 votes

Intéressant, je n'avais pas compris ce problème dans votre question initiale. LESS ne dispose pas (encore) d'instructions conditionnelles, vous devez donc penser de manière déclarative. Faites un englishContainer.less qui importe english.less y chart.less alors a germanContainer.less qui importe german.less y chart.less etc., c'est probablement la meilleure façon de procéder.

-1voto

// par exemple BlueTheme.less Fichier Less ---------
@import "DefaultBlueParameters.less"; <--- seulement le thème moins de vars

@import (less) "DefaultBase.css"; <--- il y a une utilité DefaultBlueParameters.less vars

Il génère BlueTheme.css

2 votes

Bienvenue sur StackOverflow et merci pour votre aide. Vous pourriez améliorer votre réponse en ajoutant quelques explications.

Prograide.com

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.

Powered by:

X