首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过lessphp "Fatal Error: infinite via“

通过lessphp "Fatal Error: infinite via“
EN

Stack Overflow用户
提问于 2012-12-18 01:00:33
回答 1查看 388关注 0票数 2

我尝试通过lessphp将这段.less代码编译成.css,并得到这个错误:

代码语言:javascript
复制
Fatal Error:
====================
infinite loop detected: @pos-x: failed at `background-position: @pos-x 0; }` line: 3

这是我的代码。

代码语言:javascript
复制
@pos-x : 0;
@w : 30px;
.a { background-position: @pos-x 0; }

@pos-x: @pos-x - @w;
.b { background-position: @pos-x 0; }

它有什么问题?我可以在LESS中使用变量重写吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-18 01:42:05

不允许使用@pos-x: @pos-x - @w;The documentation states,“请注意,LESS中的变量实际上是‘常量’,因为它们只能定义一次。”

我相信在这种情况下用LESS发生的事情本质上是这样的:

代码语言:javascript
复制
@pos-x: 0;
@pos-x: @pos-x - 30px; puts it into this loop...
        @pos-x = -30px - 30px ...
        @pox-x = -60px - 30px ...
        @pox-x = -90px - 30px ... etc.

因此,它不断地重新计算@pos-x,试图得到一个从未达到的最终解决方案。每次重新分配时,它都会尝试根据新的分配重新计算。

所以要这样做:

代码语言:javascript
复制
@pos1-x : 0;
@w : 30px;
.a { background-position: @pos1-x 0; }

@pos2-x: @pos1-x - @w;
.b { background-position: @pos2-x 0; }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13918531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档