在更少的地方,我有以下内容:

@divwidth: 425px;
@docwidth: '$(window).width()';


我想将左样式设置为以下结果:

left: ((@docwidth - @divwidth + 1)/2)!important;


我使用+1以防万一我得到0并尝试将其除以2

我似乎无法获得适当的价值,也无法确定自己是否做得对。
我试过了

left: ~'((docwidth - divwidth + 1) / 2)px' !important;
left: ~'calc((docwidth - divwidth + 1) / 2)px' !important;


仍然没有喜悦。我希望能获得一些帮助或一个好的资源来解决这个问题...

最佳答案

是的,您可以在Less代码中使用JavaScript评估。 JavaScript代码应放在反引号@docwidth: "`$(window).width()`";之间,有关示例,另请参见https://stackoverflow.com/a/19386571/1596547

在Less中,JavaScript的用法已被弃用,因为替代编译器(不是用JavaScript编写)无法编译您的代码。

还要注意,$(window).width()仅在使用the client side compiler时才有意义,即使那样,您也应该在调整窗口大小之后重新编译代码(调用less.refreshStyles())。

在大多数情况下,您使用较少的代码来编译静态CSS代码。静态CSS代码不会更改/响应环境属性(例如$(window).width())。

10-04 19:15