4

我刚刚花了几个小时试图弄清楚为什么我得到了无用的错误,却发现我的变量没有被导入,因为它不希望包含路径成为当前目录(奇怪... )所以我有点累了,希望其他人可以在这里帮助我。

我正在使用这个 PHP LESS 编译器,它几乎适用于所有东西。它只是不喜欢这样的行:

border: 1px solid (@col-border / 3);

在这种情况下,@col-border定义为#996633。它正确计算为#332211,但生成的“CSS”为:

border: 1px solid(#332211);

不用说,这不起作用。有趣的是,其他这样的行没有这个问题,比如这个:

box-shadow: 2px 2px 4px (@col-shadow / 3 * 4), -2px -2px 4px (@col-shadow / 3);
/* this compiles just fine */

如果有人可以查看它并找出这个问题的来源,我将非常感激。我现在太累了,不能自己去挖……

4

2 回答 2

2

好吧,我想通了。

显然,它读起来1px solid (@col-border / 3);好像solid是一个函数名和@col-border / 3它的参数。

我编辑了第 2985 行以禁用 的$eatWhitespace参数$this->match,现在它尊重关键字后面的空格。当然,这意味着我不能再使用function (argument)语法了,但是有人用过吗?

无论如何,谢谢你没有对我投反对票!:p

于 2013-04-21T01:55:41.953 回答
0

不需要编辑一行代码的解决方案

我只是想我会提供一个不需要对代码本身进行行编辑的解决方案。这有效:

@col-border: #996633;
border: ~"1px solid"(@col-border / 3);

输出:

border: 1px solid #332211;
于 2013-04-21T19:40:08.723 回答