7

我有以下堆栈:

  1. Symfony2
  2. 安装了 lessphp 过滤器的树枝。
  3. 推特助推器

在 base.css 我有:

// base.less
@import '/path/to/bootstrap.less'
@linkColor: 13px;

变量名根本不重要。它可以是引导程序中使用的任何其他变量。它只是不会被覆盖。但是,如果我将变量放入单独的 .less 文件中并将其导入 base.less ,一切都会按预期工作:

// base.less
@import '/path/to/bootstrap.less'
@import '/path/to/variables.less'

// variables.less
@linkColor: 13px;

为什么这个有效而另一个无效?查找文档(less/lessphp),但找不到与此相关的任何内容。(或者我不知道在哪里看)。

有人可以解释为什么会这样吗?

4

2 回答 2

7

看起来这是 lessphp 编译器中的错误。看看github问题。您的解决方法是将变量声明放入另一个文件并导入它就可以了。顺便谢谢 ;)

于 2013-04-25T15:27:19.367 回答
2

发生这种情况是因为您在使用该变量定义所有 Bootstrap 样式覆盖了该变量。

我这样解决这个问题:

  1. 创建我自己main.less的导入我自己的bootstrap.less.
  2. 我自己bootstrap.less的只是将 Bootstrap 的bootstrap.less文件复制到我自己的文件夹中,并相应地更改了导入路径,但有一个例外:它是由自己variables.less而不是 Bootstrap 导入的。
  3. 我自己variables.less导入 Bootstrap variables.less,然后覆盖我需要的那些。
于 2013-03-15T12:57:41.040 回答