我正在尝试使用 Bootstrap CSS 创建具有多种配色方案的 CSS 主题。每个配色方案都构建为boostrap.less
文件的修改版本:bootstrap-red.less
、bootstrap-green.less
等。
每个 Bootstrap 版本所做的是导入所有默认的 Bootstrap 文件,然后是适当的调色板,然后是主题的核心结构。例如bootstrap-red.less
:
@import "reset.less";
@import "variables.less";
@import "mixins.less";
/* and so on... until */
// Custom code
@import "elements.less";
@import "_mytheme-color-scheme-red.less";
@import "_mytheme-core.less";
在_mytheme-color-scheme-red.less
中,我定义变量,例如:
@bannerBackground: #59a449;
但是,编译时bootstrap-red.less
我得到:
NameError: variable @bannerBackground is undefined in /.../css/less/_mytheme-core.less
为什么会这样?我原以为它会起作用,因为variables.less
文件中的变量以相同的方式定义,并且可以在后续文件中使用。
我查看了类似的问题并尝试了不同的方法,但无济于事:
@import
"_mytheme-color-scheme-red.less"
在文件中输入-不可行_mytheme-core.less
;此外,Bootstrap 并没有这样做,但它仍然有效。- 在没有 BOM 的情况下以 UTF-8 编码文件 - 不起作用,结果相同。
在我看来,该文件_mytheme-color-scheme-red.less
根本没有被处理。就好像 Less 编译器只是跳过它并直奔_mytheme-core.less
如何解决这个问题?