我有以下堆栈:
在base.css中我有:
// base.less
@import '/path/to/bootstrap.less'
@linkColor: 13px;
变量名称根本不重要。它可以是bootstrap中使用的任何其他变量。它只是没有被覆盖。但是,如果我将变量放入单独的.less文件并将其导入base.less,一切都按预期工作:
// base.less
@import '/path/to/bootstrap.less'
@import '/path/to/variables.less'
和
// variables.less
@linkColor: 13px;
为什么这样做而另一个没有?查找文档(less / lessphp)但找不到与此相关的任何内容。 (或者我不知道在哪里看。)
有人可以解释为什么会这样吗?
答案 0 :(得分:7)
看起来这是lessphp编译器中的一个错误。看看github issue。您的解决方法,将变量声明放入另一个文件并导入它可以正常工作。谢谢你的方式;)
答案 1 :(得分:2)
这种情况正在发生,因为您在>>之后覆盖变量,它已用于定义所有Bootstrap样式。
我用这种方式解决了这个问题:
main.less
,导入我自己的bootstrap.less
。bootstrap.less
只是将Bootstrap的bootstrap.less
文件复制到我自己的文件夹中,导入路径也相应更改,但有一个例外:它由自己的variables.less
而不是Bootstrap导入之一。variables.less
导入Bootstrap的variables.less
,然后覆盖我需要的那些。