我最近在設計網站佈局時遇到了一些意外的行爲。我很驚訝地發現,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