2011-10-13 16 views
63

Estoy usando less.css para simplificar mi estilo css. Me gustaría declarar un vaive en un archivo menos y compartir su uso en mis muchos menos archivos. es posible? Por ejemplo:less.css compartiendo variables en los archivos

english.less

@languageFloat: a la izquierda;

chart.less

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

Respuesta

69

La mejor manera de hacer esto es @import su archivo MENOS con todas sus variables en el mismo. Ésta es la sintaxis para la palabra clave @import:

// 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"; 

Esto funciona especialmente bien si sirven a los archivos CSS a sus usuarios (en contraposición a la de un navegador less.js análisis sintáctico) porque la declaración @import agravará su MENOS y archivos CSS en un único archivo CSS. Tal vez pueda considerar tener un archivo LESS de un controlador que incluya sus variables, luego sus otros archivos LESS y CSS para que el resultado final sea un solo archivo que sirva al navegador.

Me imagino que sería algo tan simple como esto:

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

interesante, aunque necesito compartir un archivo css condicional, el inglés se puede reemplazar por alemán, ruso, etc. ¿Puedo importar css libraries condicionalmente? – vondip

+4

Interesante, no entendí ese problema de su pregunta inicial. MENOS no tiene enunciados condicionales (todavía), así que debes pensar declarativamente. Haga un archivo 'englishContainer.less' que importe' english.less' y 'chart.less', luego un archivo' germanContainer.less' que importe 'german.less' y' chart.less', etc, ese es probablemente el camino para hacerlo. –

0

// por ejemplo, BlueTheme.less Menos archivo ---------
@import "DefaultBlueParameters.less"; < --- único tema menos vars

@import (less) "DefaultBase.css"; < --- hay un uso DefaultBlueParameters.less vars

Genera BlueTheme.css

+1

Bienvenido a StackOverflow y gracias por su ayuda. Es posible que desee mejorar su respuesta agregando alguna explicación. –

Cuestiones relacionadas