我们为什么没有box-sizing: margin-box;
?通常,当我们放入box-sizing: border-box;
样式表时,我们实际上是指前者。
例:
假设我有2列的页面布局。这两列的宽度均为50%,但它们看起来有点丑陋,因为没有装订线(中间有缝隙)。下面是CSS:
.col2 {
width: 50%;
float: left;
}
要应用装订线,您可能会认为我们可以在两列的第一列中设置合适的边距;像这样的东西:
.col2:first-child {
margin-right: 24px;
}
但这将使第二列换行,因为以下内容是正确的:
50% + 50% + 24px > 100%
box-sizing: margin-box;
可以通过在元素的计算宽度中包括边距来解决此问题。我觉得这很有用,即使没有比有用box-sizing: border-box;
。
border: xxx solid transparent;
,因为边框已包含在中border-box
。但这会破坏其他一些东西,例如box-shadow
。
box-sizing: margin-box
因为它不适用于保证金倒闭。
box-sizing: margin-box;
?” 因为尽管水平边距不会崩溃,但这样的主张会严重干扰垂直边距的崩溃。无论如何,如果您想提出一些标准化的建议,Stack Overflow并不是正确的选择。尝试邮件列表。