在更少的地方,我有以下内容:
@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()
)。