Skip to content

盒模型的组成

  • Content box: 这个区域用来显示内容,通过 width 和 height 设置大小。

  • Padding box: 这个区域是内容区域外的空白区域,通过 padding 设置大小。

  • Border box: 边框盒包裹内容和内边距,通过 border 设置大小。

  • Margin box: 盒子和其它元素之间的空白区域,通过 margin 设置大小。

标准盒模型

如果你设置 width 和 height,实际设置的是 content box。 盒子实际大小 = width / height + padding * 2 + border * 2

替代(IE)盒模型

如果你设置 width 和 height,实际设置的是 content box + padding + border 的总大小。 盒子实际大小 = width / heigth

浏览器默认使用标准模型。如果需要使用替代模型,设置 box-sizing: border-box。

如果你希望所有元素都使用替代模式,设置 box-sizing 在 <html> 元素上,然后设置所有元素 继承该属性。

html
<style>
  html {
    box-sizing: border-box;
  }
  *, *::before, *::after {
    box-sizing: inherit;
  }
</style>