在@import之后覆盖Bootstrap LESS变量

时间:2013-03-13 11:21:49

标签: php twitter-bootstrap less lessphp

我试图在编译之前覆盖一些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(这有点解决了我的问题)。它仍然无法解释为什么我的原始代码不起作用。希望得到答案。

1 个答案:

答案 0 :(得分:3)

变量将按照导入设置为编译的顺序被覆盖(并且可用)。

例如:

@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而不是变量custom.less,你就把它放在所有其他.less文件之前(当然除了variables.less)。