在盒子模型中,我们设置的宽度都是内容宽度,不是整个盒子的宽度。而整个盒子的宽度是:(内容宽度 + border宽度 + padding宽度 + margin宽度)之和。这样我们改四个中的其中一个,都会导致盒子宽度的改变。这对我们来说不友好,解决方法是为div
设置了box-sizing:border-box
,宽度是内容 + padding
+ 边框的宽度(不包括margin
),在为系统写 CSS 时候,第一个样式是:
* { box-sizing:border-box; }
大名鼎鼎的 Bootstrap 也把box-sizing:border-box加入到它的*选择器中,我认为这么做的好处显而易见,就是更加友好贴向实际,要说缺点吧,就是损失掉一定的灵活性。