0

是否可以通过发送的参数覆盖现有的变量?

示例:我的 CSS

/* ... */
@bg_color: purple;
@h_color: lighten(@bg_color,25);
#header { background: @bg_color; }
/* ... */

现在当我打电话时:

$less->parse(array('bg_color' => 'blue'));

它没有效果。变量不会被覆盖。这个想法是使用 CSS 中的变量作为“Fallback-Color”

有什么想法可以强制 less.php 覆盖现有变量吗?

4

2 回答 2

1

我认为您调用该方法是错误的, git-masterparse()的当前签名是:

function parse($str = null, $initialVariables = null) {

从 3.xx 版本开始,在此之前(2.0.0 标签)它只有$str参数,(该行的实际更改提交在这里)。

至于覆盖:lessc 解析您的代码的方式是,它将您在 phpland 中提供的变量推送到它们,然后读取源文件。因此,源文件将始终具有优先权,因此您无法加载用于编译的更少文件并在lessc生成输出之前更改其中的变量。

于 2012-07-30T10:45:37.743 回答
0

答案:less.php 不能覆盖更少的变量!

于 2012-08-06T10:59:05.880 回答