css 盒模型

235 阅读1分钟

盒模型——MDN地址

1.标准盒模型 在标准模型中,如果你给盒子设置 width 和 height,实际设置的是 content box。 padding 和 border 再加上设置的宽高一起决定整个盒子的大小。 见下图。

假设定义了 widthheightmarginborder, and padding:

.box {
  width: 350px;
  height: 150px;
  margin: 25px;
  padding: 25px;
  border: 5px solid black;
}

如果使用标准模型宽度 = 410px (350 + 25 + 25 + 5 + 5),高度 = 210px (150 + 25 + 25 + 5 + 5),padding 加 border 再加 content box。

image.png : margin 不计入实际大小 —— 当然,它会影响盒子在页面所占空间,但是影响的是盒子外部空间。盒子的范围到边框为止 —— 不会延伸到margin。

2.怪异(IE)盒模型
width为盒子的宽度,所以内容宽度应该是盒子宽度减去边框和填充部分。使用上面相同的样式得到 (width = 350px, height = 150px).

image.png

默认浏览器会使用标准模型。如果需要使用替代模型,可以通过为其设置 box-sizing: border-box 来实现。 这样就可以告诉浏览器使用 border-box 来定义区域,从而设定想要的大小。

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