Недавно я прибегал к неожиданному поведению при разработке макета сайта. Я был удивлен, обнаружив, что поведение 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>