8

在 LESS 中,我使用以下代码来获取窗口的高度。

@winheight:`$(window).height()`

我得到的是一个数字,但是当我在px那里添加单元时,

height: @winheight px;

它会编译成类似height: 910 px.

我也尝试在 javascript 评估后拥有该单元。但我得到了同样的结果。

@winheight:`$(window).height()`px
height: @winheight;
...

height:910 px;

我怎样才能到达height:910px那里(数字和单位之间没有空格)?


编辑:

至于前四个结果,它会创建一个height:"910px"未正确呈现的字符串。

4

7 回答 7

7

只需使用字符串插值,然后使用以下方法从字符串中转义~

@winheight:`$(window).height()`;

height: ~"@{winheight}px";
于 2012-05-29T21:29:27.190 回答
1

给出这个代码,看看你得到了什么。

@winheight:0px + `$(window).height()'
于 2012-05-29T07:57:46.060 回答
1

取而代之.css(height)-.height()这将返回值 + 单位。

于 2012-05-29T07:58:57.977 回答
0

更换空白空间对您有帮助吗?尝试阅读以下答案:Replaceing spaces with underscores in JavaScript?

于 2012-05-29T06:25:24.613 回答
0

试试这个

@winheight:`$(window).height()+"px"`
height: @winheight;

因为.height()只返回无单位的像素值。
或者使用以下

@winheight:`$(window).css("height")`
    height: @winheight;

.css("height") 返回一个带有单位的值

于 2012-05-29T06:26:19.637 回答
0

那这个呢:

@winheight:`$(window).height().toString() + "px"`
于 2012-05-29T06:26:23.990 回答
0

这可能取决于我不太了解的LESS。

阅读文档这是一种可能性。

@winheight:0px + `$(window).height()`
于 2012-05-29T06:29:26.657 回答