我正在尝试在编译之前覆盖一些 bootstrap LESS 变量,例如
// Core variables
@import "variables.less";
// Trying to override @white from variables.less
@white: #de1de1;
// other bootstrap @imports....
上面的代码没有覆盖@white
,但是如果我在variables.less 文件的末尾添加@white
,它就可以正常工作。
变量似乎只能在同一个文件中被覆盖。但这对我来说没有意义,因为我认为 LESS 不是那样工作的。例如,其他 @import
文件(从上面的代码中省略)使用 @white
变量。如果他们能够在 variables.less 文件外使用它,为什么我不能在文件外覆盖它?
我正在使用 Less Php 0.3.9 编译我的代码。
注意: 我刚刚尝试了以下代码:
// Core variables
@import "variables.less";
@import "variables-custom.less";
现在 @white
的值取自 variables-custom.less(这在一定程度上解决了我的问题)。它仍然没有解释为什么我的原始代码不起作用。将不胜感激。
最佳答案
变量将按照您将导入设置为编译的顺序被覆盖(并可用)。
例如:
@import "variables.less"; //@white is set
@import "styles.less"; //UPDATED @white NOT available
@import "variables-custom.less"; //Update @white
@import "styles2.less"; //UPDATED @white available
所以,只要确保如果你不打算使用 variables.less 而是 variables-custom.less,你把它放在所有其他 .less 文件之前(当然 variables.less 除外)。
关于php - 在@import 之后覆盖 Bootstrap LESS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15383869/