将.css文件导入.less文件

可以将.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文件,仅导入其他.less文件...吗?还是我引用错了...?!

DavaidTony宝儿2020/03/30 18:33:17

如果您只想导入CSS文件作为参考(例如,使用Mixins中的类),但将整个CSS文件包含在结果中,则可以使用@import (less,reference) "reference.css";

我的

 @import (less,reference) "reference.css";
 .my-class{
     background-color:black;
     .reference-class;
     color:blue;
 }

reference.css

.reference-class{
    border: 1px solid red;
}

*结果(my.css)与lessc my.less out/my.css*

.my-class {
  background-color: black;
  border: 1px solid red;
  color: blue;
}

我在用着 lessc 2.5.3

Gil2020/03/30 18:33:17

我必须在1.7.4版本中使用以下内容

@import (less) "foo.css"

我知道可以接受的答案是,@import (css) "foo.css"但是没有用。如果要在新的less文件中重用CSS类,则需要使用(less)和而不是(css)

检查文档

西门2020/03/30 18:33:17

尝试这个 :

@import "lib.css";

从官方文件:

您可以同时导入css和更少的文件。仅处理较少的文件导入语句,而css文件导入语句保持原样。如果您要导入CSS文件,并且不想让LESS处理它,只需使用.css扩展名:


资料来源: http : //lesscss.org/

猴子2020/03/30 18:33:17

将css文件的文件扩展名更改为.less您不需要在其中写任何LESS;所有CSS都是有效的LESS(您必须转义的MS内容除外,但这是另一个问题。)

根据Fractalf的回答,此问题已在v1.4.0中修复

Mandy樱2020/03/30 18:33:17

您可以通过指定选项来强制将文件解释为特定类型,例如:

@import (css) "lib";

将输出

@import "lib";

@import (less) "lib.css";

将导入lib.css文件,并将其视为更少。如果您指定的文件较少并且不包含扩展名,则不会添加任何文件。