¿Puedes importar archivos .css en archivos .less ...?
Estoy bastante familiarizado con menos y lo uso para todo mi desarrollo. Regularmente uso una estructura de la siguiente manera:
@import "normalize";
//styles here
@import "mixins";
@import "media-queries";
@import "print";
Todas las importaciones son otros archivos .less y todo funciona como debería.
Mi problema actual es este: quiero importar un archivo .css a .less que haga referencia a los estilos utilizados en el archivo .css de la siguiente manera:
@import "../style.css";
.small {
font-size:60%;
.type;
}
// other styles here
El archivo .css contiene una clase llamada .type
pero cuando trato de compilar el archivo .less obtengo el errorNameError: .type is undefined
¿El archivo .less no importará archivos .css, solo otros archivos .less ...? ¿O estoy haciendo referencia equivocada ...?
.less
extensión. Luego consúltelo como un.less
archivo. Al ser un enlace simbólico, se libera de la carga para sincronizarlos a medida que sus cambios .css afectan de inmediato al archivo .less que se importa. El inconveniente es que debe volver a compilar el CSS final después de los cambios posteriores. Para obtener información sobreMKLINK /?
.css
archivo utilizando la(less)
directiva en línea y aprovechar el hecho de que la.css
sintaxis es una.less
sintaxis válidaRespuestas:
Puede forzar que un archivo se interprete como un tipo particular especificando una opción, por ejemplo:
saldrá
y
importará el
lib.css
archivo y lo tratará como menos. Si especifica que un archivo es menor y no incluye una extensión, no se agregará ninguno.fuente
(inline)
directiva (ver stackoverflow.com/a/22594082/160968 ) ahora es preferible(inline)
no funcionará porque no transforma referencias externas a fuentes u otros@import
archivos CSS ed. Acaba de terminar con un archivo css más grande que genera muchas solicitudes HTTP 404 ...Si desea que su CSS se copie en la salida sin procesarse, puede usar la
(inline)
directiva . p.ej,fuente
@import (css) "styles.css";
No funcionó para mí.(css)
, la@import
directiva permanecerá tal cual y, como resultado, el navegador cargará el archivo CSS en tiempo de ejecución; con(inline)
, los contenidos del archivo CSS se importan realmente a la hoja de estilo compilada, que es lo que desea si ese archivo está fuera de su raíz web, por ejemplo. Tenga en cuenta que el comportamiento predeterminado al@import
crear un.css
archivo es el mismo que con el(css)
indicador: lea los documentos para obtener más información :)@import
directivas, ya que eso requeriría "procesamiento".Tuve que usar lo siguiente con la versión 1.7.4
Sé que la respuesta aceptada es
@import (css) "foo.css"
pero no funcionó. Si desea reutilizar su clase css en su nuevo archivo less, debe usar(less)
y no(css)
.Revisa la documentación .
fuente
(less)
es la única opción si desea reutilizar algunos estilos de un archivo CSS) pero por alguna razón @Fractalf eliminó la parte correcta con su última edición.@import (less, reference) "foo.css"
Cambie la extensión del archivo css a.less
. No necesitas escribir MENOS en ella; todo CSS es válido MENOS (excepto las cosas de MS de las que tienes que escapar, pero ese es otro problema).Según la respuesta de Fractalf, esto se corrige en v1.4.0
fuente
Desde el sitio web LESS :
Como jitbit señala en los comentarios a continuación, esto realmente solo es útil para fines de desarrollo, ya que no querría tener un
@import
ancho de banda precioso que consume innecesariamente .fuente
@import
durante el desarrollo, luego combino y minimizo los archivos importados en una sola hoja de estilo cuando paso a producción.Prueba esto :
De la documentación oficial:
Fuente: http://lesscss.org/
fuente
Si solo desea importar un archivo CSS como referencia (por ejemplo, para usar las clases en Mixins) pero no incluye el archivo CSS completo en el resultado, puede usar
@import (less,reference) "reference.css";
:my.less
referencia.css
* Resultado (my.css) con
lessc my.less out/my.css
*Estoy usando
lessc 2.5.3
fuente
&:extend(.reference-class all);
. Hacer referencia directa a la clase resultó en un error de compilación.Si desea importar un archivo CSS que debe tratarse como menos, use esta línea:
fuente
desde 1.5.0 puede usar la palabra clave 'en línea'.
Ejemplo: @import (en línea) "not-less-compatible.css";
Lo usará cuando un archivo CSS no sea menos compatible; Esto se debe a que aunque Less admite la mayoría de los estándares CSS conocidos, no admite comentarios en algunos lugares y no admite todos los hacks CSS conocidos sin modificar el CSS. Por lo tanto, puede usar esto para incluir el archivo en la salida para que todos los CSS estén en un archivo.
(fuente: http://lesscss.org/features/#import-directives-feature )
fuente