css中盒子模型
css盒模型
简介:就是用来装页面上的元素的矩形区域。CSS中的盒子模型包括IE盒子模型和标准的W3C盒子模型。
box-sizing(有3个值哦):content-box | border-box | inherit
标准盒子模型:
box-sizing: content-box;
IE盒子模型:
box-sizing: border-box;从上图可以看出标准盒子模型与IE盒子模型区别:
标准的盒子模型:W3C (标准)盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分。
IE盒子模型: IE 盒子模型的范围也包括 margin、border、padding、content,和标准 W3C 盒子模型不同的是:IE 盒子模型的 content 部分包含了 border 和 pading。
例如 :一个盒子的 margin 为 20px,border 为 1px,padding 为 10px,content 的宽为 200px、高为 50px。
如果用标准 W3C 盒子模型解释,那么这个盒子需要占据的位置为:宽 :202+12+102+200=262px、高 :202 +12+102+ 50=112px,盒子的实际大小为:宽: 12+102+200=222px、高 :12+102+50=72px;
如果用IE 盒子模型,那么这个盒子需要占据的位置为:宽: 202+200=240px、高: 202 50=70px,盒子的实际大小为:宽: 200px、高 :50px。
通过上面的介绍以及能够很详细的理解css中盒子模型的知识了,其中包括标准盒子模型和IE盒子模型。
那应该选择哪中盒子模型呢?浏览器应该按照哪种来执行呢?当然是“标准 W3C 盒子模型”了。怎么样才算是选择了“标准 W3C 盒子模型”呢?很简单,就是在网页的顶部加上 DOCTYPE 声明。如果不加 DOCTYPE 声明,那么各个浏览器会根据自己的行为去理解网页,即 IE 浏览器会采用 IE 盒子模型去解释你的盒子,而 FF 会采用标准 W3C 盒子模型解释你的盒子,所以网页在不同的浏览器中就显示的不一样了。反之,如果加上了 DOCTYPE 声明,那么所有浏览器都会采用标准 W3C 盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。