使用2个Css LESS变量并从另一个变量中减去一个

时间:2014-12-12 18:26:50

标签: css math less stylesheet calc

更少,我有以下内容:

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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