浏览器的盒子模型 Box Model

盒子模型(Box Mode)是CSS中一个重要的概念,对于网页中的大部分对象,实际呈现形式都是一个盒子形状对象,理解了盒子模型才能更好的排版。对于盒子,我们最关心的就是盒子的尺寸:丫的要占多大地皮?

其实盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型,他们对盒子模型的解释各不相同,简单理解一下,方便我们了解为何IE这么让人痛苦,为何要为IE写一堆HOCK。这里再顺便鄙视一下,IE总是与标准对着干。

W3C家的盒子

从上图可以看到标准 W3C 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分。

那么,假设:一个盒子的 margin 为 20px,border 为 1px,padding 为 10px,content 的宽为 200px、高为 50px,用标准 W3C 盒子模型解释,那么:

这个盒子需要占据的位置为

宽=margin*2 + border*2 + padding*2 + content.width = 20*2 + 1*2 + 10*2 +200 = 262px

高=margin*2 + border*2 + padding*2 + content.height = 20*2 + 1*2 +10*2 + 50 = 112px

盒子的实际大小为

宽 = border*2 + padding*2 + content.width = 1*2+10*2+200=222px、

高 = border*2 + padding*2 + content.height = 1*2+10*2+50=72px;

IE家的盒子

IE Box Model

从上图可以看到 IE 盒子模型的范围也包括 margin、border、padding、content,和标准 W3C 盒子模型不同的是:IE 盒子模型的content 部分包含了 border 和 pading

那么,假设:一个盒子的 margin 为 20px,border 为 1px,padding 为 10px,content 的宽为 200px、高为 50px,用标准 W3C 盒子模型解释,那么:

这个盒子需要占据的位置为

宽=margin*2 +content.width = 20*2+200=240px、

高= margin*2 + content.height = 20*2+50=70px;

盒子的实际大小为

宽 = content.width = 200px

高 = content.height = 50px

选择自己想要的盒子

当margin,padding,border都为0时,两种盒模型是没有区别的,这个时候我们不用考虑使用哪种盒模型。可是,如果一定要选择一种 盒模型呢,选择哪种?不用我说,大家也会选择标准的盒子,毕竟大家对IE的怨恨已经达到一定程度了。但是,怎么选择W3C标准的盒子呢?

在新建html文档时,大家可能没有注意到其html标签上面的Doctype声明 ,只要加上Doctype声明,浏览器就会采用W3C盒子标准去解释你的盒子了。

这里有一点小疑惑,刚看了一下 Google 首页是没有用 Doctype声明的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值