博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)
阅读量:6710 次
发布时间:2019-06-25

本文共 1098 字,大约阅读时间需要 3 分钟。

转载自:

盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型。他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型:

从上图可以看到标准 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 盒子模型解释,那么这个盒子需要占据的位置为:宽 20*2+1*2+10*2+200=262px、高 20*2+1*2*10*2+50=112px,盒子的实际大小为:宽 1*2+10*2+200=222px、高 1*2+10*2+50=72px;假如用ie 盒子模型,那么这个盒子需要占据的位置为:宽 20*2+200=240px、高 20*2+50=70px,盒子的实际大小为:宽 200px、高 50px。

  那应该选择哪中盒子模型呢?当然是“标准 w3c 盒子模型”了。怎么样才算是选择了“标准 w3c 盒子模型”呢?很简单,就是在网页的顶部加上 doctype 声明。假如不加 doctype 声明,那么各个浏览器会根据自己的行为去理解网页,即 ie 浏览器会采用 ie 盒子模型去解释你的盒子,而 ff 会采用标准 w3c 盒子模型解释你的盒子,所以网页在不同的浏览器中就显示的不一样了。反之,假如加上了 doctype 声明,那么所有浏览器都会采用标准 w3c 盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。

  再用 jquery 做的例子来证实一下。

你用的盒子模型是?

上面的代码没有加上 doctype 声明,在 ie 浏览器中显示“ie盒子模型”,在 ff 浏览器中显示“标准 w3c 盒子模型”。

你用的盒子模型是标准w3c盒子模型

代码2 与代码1 唯一的不同的就是顶部加了 doctype 声明。在所有浏览器中都显示“标准 w3c 盒子模型”。

所以为了让网页能兼容各个浏览器,让我们用标准 w3c 盒子模型。

转载于:https://www.cnblogs.com/JoannaQ/archive/2012/09/15/2686075.html

你可能感兴趣的文章
我在 impress.js 中学到的小套路
查看>>
notepad++之TextFX插件
查看>>
静态数码管——小白的单片机笔记
查看>>
文件处理之处理模式及其黑魔法
查看>>
基于FPGA的电压表与串口通信(下)
查看>>
How to Allow Apps from Anywhere in macOS Gatekeeper (Mojave, Sierra, High Sierra)
查看>>
Windows 下目录切换以及挂载小技巧
查看>>
读取STGMEDIUM中的数据
查看>>
linux命令之添加删除磁盘分区
查看>>
Canvas练习
查看>>
Mac 常用命令及快捷键
查看>>
post
查看>>
Javascript面向对象编程(三) 非构造函数的继承
查看>>
[python机器学习及实践(6)]Sklearn实现主成分分析(PCA)
查看>>
Jquery 错误提示插件
查看>>
关于ARC和MRC
查看>>
history.back(-1)和history.go(-1)的区别
查看>>
数据表删除、清空操作
查看>>
如何实现类似于:2017年10月17日 星期五 这种形式
查看>>
Java面向对象----Java面向对象(OOP)概念
查看>>