1

在更少的情况下,我有以下内容:

@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;

仍然没有喜悦。我很感激一些帮助或一个很好的资源来解决这个问题......

4

1 回答 1

1

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

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

另请注意,仅在使用客户端编译器$(window).width()时才有意义,即使这样,您也应该在调整窗口大小后重新编译代码(调用 less.refreshStyles())。

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

于 2014-12-12T21:40:12.020 回答