LESS中的空白保留在CSS3中转换为calc操作数

Wil*_*ley 9 css whitespace webkit css3 less

我想在LESS中表达以下CSS:

.a {
    min-height: calc(2em + 4px);
}
Run Code Online (Sandbox Code Playgroud)

因此,为了防止LESS尝试计算,我使用LESS 转义语法编写了表达式:

.a {
    min-height: ~'calc(2em + 4px)';
}
Run Code Online (Sandbox Code Playgroud)

然而,LESS的缩小引擎正在移除空白,并发出:

.a{min-height:calc(2em+4px);}
Run Code Online (Sandbox Code Playgroud)

这是有问题的,因为webkit无法正确计算2em+4px,而2em_+_4px工作正常(为了清晰起见,添加了下划线.)似乎这里的真正错误是在webkit中,因为我希望CSS3 calc的语法允许令牌之间不存在空格.

mor*_*gul 11

这是一篇很老的帖子,但我想向您展示一个简单的mathematic解决方法.

我的缩小引擎也有这个问题.我的减法工作正常,但除此之外还要删除空格.如果有人遇到同样的问题,这是最简单的解决方法.

如果你想要这个:

.a {
    min-height: ~'calc(2em + 4px)';
}
Run Code Online (Sandbox Code Playgroud)

把它写成这样:

.a {
    min-height: ~'calc(2em - -4px)';
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!你救了我们的一天!这是旧版YUI Compressor版本中的一个错误(2014年之前).你需要写双减去而不是加.更多信息:https://github.com/yui/yuicompressor/issues/59 <<我们仍然在我们的Web项目的核心组件中使用旧版本. (2认同)