你能把.css文件导入.less文件......?
我对此很熟悉,并将其用于我的所有开发 . 我经常使用如下结构:
@import "normalize";
//styles here
@import "mixins";
@import "media-queries";
@import "print";
所有导入都是其他.less文件,所有文件都可以正常工作 .
我目前的问题是:我想将.css文件导入.less文件,引用.css文件中使用的样式,如下所示:
@import "../style.css";
.small {
font-size:60%;
.type;
}
// other styles here
.css文件包含一个名为 .type
的类,但是当我尝试编译.less文件时,我收到错误 NameError: .type is undefined
.less文件不会导入.css文件,只能导入其他无文件......?或者我引用它错了......?!
9 回答
如果您希望将CSS复制到输出中而不进行处理,则可以使用(inline) directive . 例如 . ,
将css文件的文件扩展名更改为.less . 你不需要写任何LESS;所有CSS都是有效的LESS(除了你必须逃脱的MS之外,这是另一个问题 . )
Per Fractalf's answer this is fixed in v1.4.0
如果要导入应该被删除的css文件,请使用以下行:
Try this :
From the Official Documentation :
Source : http://lesscss.org/
从1.5.0开始,你可以使用'inline'关键字 .
示例:@import(inline)“not-less-compatible.css”;
当CSS文件可能不兼容时,您将使用此选项;这是因为虽然Less支持大多数已知标准CSS,但它不支持某些地方的注释,并且不支持所有已知的CSS黑客而不修改CSS . 因此,您可以使用它将文件包含在输出中,以便所有CSS都在一个文件中 .
(来源:http://lesscss.org/features/#import-directives-feature)
您可以通过指定选项强制将文件解释为特定类型,例如:
将输出
和
将导入
lib.css
文件并将其视为更少 . 如果指定的文件较少且不包含扩展名,则不会添加任何文件 .我必须在版本1.7.4中使用以下内容
我知道接受的答案是
@import (css) "foo.css"
但它没有用 . 如果要在新的less文件中重用css类,则需要使用(less)
而不是(css)
.检查documentation .
来自LESS website:
正如jitbit在下面的评论中指出的那样,这实际上只对开发目的有用,因为你不希望不必要的_538017消耗宝贵的带宽 .
如果您只想将CSS文件作为参考导入(例如,使用Mixins中的类),但 not 在结果中包含整个CSS文件,您可以使用
@import (less,reference) "reference.css";
:my.less
reference.css
*结果(my.css)与
lessc my.less out/my.css
*我正在使用
lessc 2.5.3