Skip to content
目录

什么是css盒模型

页面是由一个个盒模型堆砌起来的,每个HTML元素都可以叫做盒模型,盒模型本身是由 margin、border、padding、content组成,在页面中所占的实际宽度是 margin + border + padding + content相加

盒模型的种类

  • 标准的(W3C)盒模型:

在标准盒模型下,盒子在页面中所占的实际物理宽度:

宽度 = margin + border + padding + width

  • IE盒模型(怪异盒子模型):

在IE盒模型下,盒子在页面中所占的实际物理宽度:

宽度 = margin + width

说明

由于IE盒模型没有算padding和border,所以用户设置的padding 和 border就需要从width里面去分; 也就是: width = padding + border + 内容的宽度

注意

在IE盒模型下,如果width和height设置成0, 此时padding和border设置了值,那么盒子的宽度是等于 padding + border的;

总结一句话就是: IE盒模型下, width的值= Math.max(width, padding + border),两者取较大者。

如何设置

css
.box {
  box-sizing: border-box | content-box;
}

例如

以下两个盒子的样式:

css
.box{
  width: 100px;
  height: 100px;
  background: red;
  padding: 20px;
  border: 10px solid blue;
  margin: 10px;
}

.content-box {
  box-sizing: content-box;
}

.border-box {
  box-sizing: border-box;
}

标准盒模型 class='content-box'

IE盒模型 class='border-box'

备案号: 浙ICP备2023000081号