LESS中使用calc
关于calc
CSS3 的calc()函数允许我们在属性值中执行数学计算操作。例如,我们可以使用calc()指定一个元素宽的固定像素值为多个数值的和。(注意必须都要带着单位)
.foo {
width: calc(100px + 50px);
}浏览器的支持性:已经得到的普遍的支持。

对于不支持calc()的浏览器,整个属性值表达式将被忽略。不过我们可以对那些不支持calc()的浏览器,使用一个固定值作为回退。
.foo {
width: 90%; /* Fallback for older browsers */
width: calc(100% - 50px);
}在Less中使用calc
如果在less中这么写:
div {
width : calc(100% - 30px);
}结果Less把这个当成运算式去执行了,结果给我解析成这样:
div { width: calc(70%); }所以需要修改为:
// 正常解析
div {
width : calc(~"100% - 30px");
}解析后的结果是:
div { width: calc(100% - 30px); } // 解析正确然而,把30px替换为一个变量,怎么写呢?
div {
@diff : 30px;
width : calc(~"100% - @{diff}");
}Well Done!
目录