CSS中的盒模型

定义:用来装页面上的元素的矩形区域。css中的盒模型包括IE盒子模型和标准的W3C盒子模型。

IE盒子模型

CSS中的盒模型

W3C盒子模型

CSS中的盒模型

区别:从图中可以看出,这两种盒子模型的最主要区别就是width的包含范围,在标准的盒子模型中,width指content部分的宽度,在IE盒子模型中,width表示content+padding+border这三个部分的宽度,因此,计算整个盒子的宽度时存在着差异:
标准盒子模型:width=左右border + 左右padding + width
IE盒子模型:width

假如一个盒子模型如下:margin:20px,border:10px,padding:10px;width:200px;height:50px;
如果用w3c盒子模型解释,那么这个盒子模型占用的

宽度为:202+102+10*2+200=280px;

高度:202+102+20*2+50=130px;

盒子的实际宽度大小为:102+102+200=240px;

实际高度:102+102+50=90px;

用IE盒子模型解释 :

盒子在网页中占据的大小为202+200=240px; 高:202+50=90px;

盒子的实际大小为:宽度:200px, 高度:50px;

在CSS3中引入了box-sizing属性,

  • box-sizing:centent-box表示标准的盒子模型;
  • box-sizing:border-box表示是IE盒子模型;
  • box-sizing:padding-box这个属性值的宽度包含了左右pading+width;

CSS3的box-sizing属性给了开发者选择盒模型解析方式的权利。使用box-sizing: border-box;就是为了在设置有padding值和border值的时候不把宽度撑开。