您可以转义calc参数,以防止在编译时对其进行评估。
使用你的例子,你只需环绕参数,像这样:
calc(~'100% - 10px')
我发现我使用以下三种方式之一:
基本逃生
calc参数中的所有内容都定义为字符串,并且在客户端评估之前是完全静态的:
LESS输入
div {
> span {
width:calc(~'100% - 10px');
}
}
CSS输出
div > span {
width: calc(100% - 10px);
}
变量插值
您可以在字符串中插入一个LESS变量:
LESS输入
div {
> span {
@pad: 10px;
width:calc(~'100% - @{pad}');
}
}
CSS输出
div > span {
width: calc(100% - 10px);
}
混合转义和编译的值
您可能想要转义百分比值,但请继续在编译时评估一些内容:
LESS输入
@btnWidth: 40px;
div {
> span {
@pad: 10px;
width:calc(~'(100% - @{pad})' - (@btnWidth * 2));
}
}
集成输出
div > span {
width: calc((100% - 10px) - 80px);
}