我正在尝试使用LESS css来执行以下操作:
width: ((480/1366)*100)+'%';
Run Code Online (Sandbox Code Playgroud)
但问题是输出变为:
width: 35.13909224011713 '%';
Run Code Online (Sandbox Code Playgroud)
我如何使其可行?即:
width: 35.13909224011713%;
Run Code Online (Sandbox Code Playgroud)
ldi*_*ual 13
可以使用字符串插值:
@myvar: ((480/1366)*100);
width: ~"@{myvar}%";
Run Code Online (Sandbox Code Playgroud)
这将输出
width: 35.13909224011713%;
Run Code Online (Sandbox Code Playgroud)
此外,如果您希望它被舍入,您可以使用round().
虽然这个问题已经很老了,但我想补充一些关于添加的例子.Less会将您的单位设置为正在进行的操作.
10px + 20px
Run Code Online (Sandbox Code Playgroud)
将输出30px
(20/200) * 100%
Run Code Online (Sandbox Code Playgroud)
将输出10%
因此,对于单位,您不需要连接单位测量.
我发现当你不知道单位价值是多少时,添加0会有所帮助.
.mixin(@x, @y){
@result: (@x / @y) * 100;
}
.my_class {
.mixin(20, 100);
width: @result + 0%; // you can use any unit here
}
Run Code Online (Sandbox Code Playgroud)
上述类的宽度为20%.如果我们添加了px,它将是20px.