IE盒模型

本文介绍了IE盒模型与W3C盒模型的区别,IE盒模型在IE5.5及更早版本中使用,块元素实际宽度仅包含width。W3C盒模型则在width基础上加上padding和border。此外还探讨了IE盒模型出现的条件。

IE5.5及更早的版本使用的是IE盒模型,在在IE6及以上版本的浏览器中,浏览器支持一种解决了这种差异的可选的渲染模式,也开始遵循标准模式。

IE盒模型和W3C盒模型的差异:

IE盒模型,块元素的实际宽度=width(包含padding和border);

W3C盒模型,块元素的实际宽度=width+padding+border;

IE盒模型

而IE盒模型的出现条件:

IE5.5之前版本

IE怪异模式(文档声明缺失或不完整;文档类型为HTML3之前的版本;使用HTML 4.0 Transitional或Frameset的文件类型描述且系统标识符(URI)不存在时;在DOCTYPE声明之前出现SGML注释或者其它无法识别的内容时;文档任何地方有错误时;注释符相遇时出现末尾文字重复;Internet Explorer 6在DOCTYPE声明之前出现XML声明)

在支持box-sizing的浏览器中使用box-sizing:border-box;

转载于:https://www.cnblogs.com/zhang-jian/p/4153322.html

标准模型(Standard Box Model)和IE模型(Internet Explorer Box Model 或 Quirks Mode Box Model),它们在处理元素宽度、高度及内边距(padding)、外边框(border)的方式上有所不同。 ### 标准模型 这是W3C推荐的标准模型,现代浏览器默认采用此模型。在这个模型中, - 元素的实际**总宽**等于设定的`width`加上左右两侧的`padding`再加上左右两边的`border`; - **总高**则是设置的高度加上下侧的`padding`再加下边界的厚度。 换句话说,当我们给定一个固定大小的内容区域尺寸时,如果增加了`padding`或设置了较厚的`border`,那么整个区块将会超出原始指定的空间范围,并且可能会破坏页面布局的设计意图。 公式表示为: - 总宽度 = width + padding-left + border-left-width + padding-right + border-right-width - 总高度 = height + top-padding + border-top-width + bottom-padding + border-bottom-width 例如,CSS代码如下所示: ```css .box { width: 200px; height: 150px; padding: 20px; border: 10px solid black; } ``` 按照标准模型计算的话,`.box`真实的占据空间应该是:宽度=240px(200+2*20+2*10),高度同样也是类似的结果。 ### IE模型 / Quirks模式下的表现 相比之下,在旧版本 Internet Explorer 浏览器所使用的非标准模或者是在启用Quirk mode的情况下,情况刚好相反: - 这里所说的宽度实际上包含了内容区、内边距(padding),甚至是边界(border)在内的全部; - 高度同理,它不仅仅包含实际内容的高度还包括上下方的填充物以及内外两层界限线的部分。 因此,在相同的 CSS 规则应用于上述 `.box` 示例时, ```css /* 当文档处于quirkmode状态 */ .box { width: 200px; /* 包含content area,padding,border*/ height: 150px;/* 同样也包括这些部分 */ padding: 20px; border: 10px solid black; } ``` 此时 .box的真实占用面积就变成了固定的200x150像素,因为所有的额外尺寸已经被考虑进去了。 这种差异曾经使得很多开发者感到困惑并难以适配早期版本的IE,直到后来随着HTML5和CSS3的发展,新的网页逐渐统一到了标准模型之上。 为了保证兼容性和一致性,建议总是显式声明 DOCTYPE ,让浏览器运行于 standards-compliant 模式之下而不是 quirks 模式。此外还可以利用 `box-sizing:border-box;` 属性强制将所有元素按IE模型的方式来解析尺寸,这有助于简化样式控制并且保持一致性的用户体验。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值