本文转载于:猿2048网站CSS网页布局:盒子模型
一、盒子模型
-
标准盒子模型(W3C盒子)


不论是标准盒模型还是IE盒子模型,都有content、padding、border、margin四个部分组成,但从上图也可以看出W3C盒子和IE盒子主要区别在与content宽度上的区别
w3c中的盒子模型的宽:包括margin+border+padding+width;
width:margin*2+border*2+padding*2+width;
height:margin*2+border*2+padding*2+height;
iE中的盒子模型的width:也包括margin+border+padding+width;
上面的两个宽度相加的属性是一样的。不过在ie中content的宽度包括padding和border这两个属性;
举例说明的话:
例如一个盒子模型如下:margin:20px,border:10px,padding:10px;width:200px;height:50px;
如果用w3c盒子模型解释,那么这个盒子模型占用的
宽度为:20*2+10*2+10*2+200=280px;
高度:20*2+10*2+20*2+50=130px;
盒子的实际宽度大小为:10*2+10*2+200=240px;
实际高度:10*2+10*2+50=90px;
用ie的盒子模型解释 :盒子在网页中占据的大小为20*2+200=240px; 高:20*2+50=90px;
盒子的实际大小为:宽度:200px, 高度:50px;
CSS3中增加了box-sizing属性可用于调整盒子
box-sizing属性可以为三个值之一:content-box(default),border-box,padding-box。
content-box,border和padding不计算入width之内 默认的标准盒子
padding-box,padding计算入width内
border-box,border和padding计算入width之内,其实就是IE盒子了
<style type="text/css"> .content-box{ box-sizing:content-box; -moz-box-sizing:content-box; width: 100px; height: 100px; padding: 20px; border: 5px solid #E6A43F; background: blue; } .padding-box{ box-sizing:padding-box; -moz-box-sizing:padding-box; width: 100px; height: 100px; padding: 20px; border: 5px solid #186645; background: red; } .border-box{ box-sizing:border-box; -moz-box-sizing:border-box; width: 100px; height: 100px; padding: 20px; border: 5px solid #3DA3EF; background: yellow; } </style>

本文深入解析CSS中的标准盒子模型和IE盒子模型的区别,通过实例对比W3C与IE的盒子模型在宽度计算上的不同,同时介绍了CSS3中新增的box-sizing属性及其三种设置值:content-box、padding-box和border-box,帮助读者理解并掌握盒子模型的运用。

959

被折叠的 条评论
为什么被折叠?



