我最近在设计网站布局时遇到了一些意外的行为。我很惊讶地发现,calc()
的行为似乎完全改变,取决于在论证中是否有基于百分比的单位。如果calc()包含百分比时如何工作?
这是一个最小的复制。
.container {
font-size: 30px;
display: inline-block;
border: solid purple .1em;
}
.inner {
border: solid orange .1em;
}
.inner.em { width: 3em; }
.inner.calc { width: calc(3em + 0%); }
<div class="container">
<div class="inner em">abc</div>
</div>
<hr>
<div class="container">
<div class="inner calc">abc</div>
</div>
第二个是令我感到诧异,因为我预料calc(3em + 0%)
可以等同于3em
。但是,我测试过的每个浏览器都展示了这种行为。这种行为发生在任何百分比。 0%
并不特殊。这是css规范的一部分吗?
我会用0%来说明我的观点,尽可能少的代码,尽管它发生在任何百分比值。 – recursive 2014-10-09 17:20:32
是的,我更新了我的问题来澄清。 – recursive 2014-10-09 17:22:04
酷酷的人...检查MDN,但没有到目前为止。 – 2014-10-09 17:23:12