使用以下两个文件 a.less
和 b.less
:
a.less
:
.red {
background: red;
}
和b.less
:
@import "a.less"
.testA:extend(.red) {
}
.testB {
.red;
}
b.css
的结果是:
.testA {}
.testB {
background: red;
}
为什么扩展不适用于 .testA
的导入混合/类定义?扩展语法是否存在要求扩展定义出现在同一文件中的限制,即这是预期的行为吗?
请注意,如果我将 .red
mixin 移至 b.less
,则 .testA
会得到正确编译。
编辑:我使用的是 less 二进制预编译器,版本 1.6.1
编辑:为了绝对确定打字错误,而且我认为没有在线服务允许少几个文件和导入,请下载示例源代码 here - 事实上 .testa{}
根本不会被渲染,但是 b.css
自然有一个 .red
定义的类.
编辑:当我从 bash 编译时,扩展工作正常,但使用 less.app GUI或通过我的 IDE 编译(使用与 bash 相同的命令)或通过 local file watcher extend 没有被正确包含——这是否与从哪里调用二进制文件有关?
最佳答案
正如@seven-phases-max 所指出的,问题在于 GUI 工具中附带的 less 预处理器版本不同,它没有 :extend
功能。
关于css - 导入文件的较少扩展与导入文件的混合不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21879195/