为什么我们没有box-sizing: margin-box;
?通常,当我们放入box-sizing: border-box;
样式表时,我们实际上是指前者。
例子:
假设我有一个 2 列页面布局。两列都有 50% 的宽度,但它们看起来有点难看,因为没有排水沟(中间有缝隙);下面是CSS:
.col2 {
width: 50%;
float: left;
}
要应用装订线,您可能会认为我们可以在 2 列中的第一列设置右边距;像这样的东西:
.col2:first-child {
margin-right: 24px;
}
但这会使第二列换行,因为以下情况是正确的:
50% + 50% + 24px > 100%
box-sizing: margin-box;
将通过在元素的计算宽度中包含边距来解决此问题。我会发现这非常有用,如果不是比box-sizing: border-box;
.