lessphp没有正确编译边框?

时间:2013-04-21 01:32:56

标签: php less

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

我正在使用this PHP LESS compiler,它几​​乎适用于所有事情。它只是不喜欢这样的行:

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 */

如果有人能够仔细研究并找出问题的来源,我将非常感激。我现在太累了,无法立刻挖掘自己......

2 个答案:

答案 0 :(得分:2)

好的,我明白了。

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

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

无论如何,谢谢你没有低估我! :P

答案 1 :(得分:0)

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

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

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

输出:

border: 1px solid #332211;