为什么我们没有 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;
更有用。