Quirks(怪癖)模式是什么?它和 Standards(标准)模式有什么区别

从 IE6 开始,引入了 Standards 模式,标准模式中,浏览器尝试给符合标准的文档在规范上

的正确处理达到在指定浏览器中的程度。

在 IE6 之前 CSS 还不够成熟,所以 IE5 等之前的浏览器对 CSS 的支持很差,

IE6 将对 CSS

提供更好的支持,然而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如

果 IE6 支持 CSS 则将令这些页面显示不正常,如何在即保证不破坏现有页面,又提供新的

渲染机制呢?

在写程序时我们也会经常遇到这样的问题,如何保证原来的接口不变,又提供更强大的功能,

尤其是新功能不兼容旧功能时。遇到这种问题时的一个常见做法是增加参数和分支,即当某

个参数为真时,我们就使用新功能,而如果这个参数

不为真时,就使用旧功能,这样就能

不破坏原有的程序,又提供新功能。IE6 也是类似这样做的,它将 DTD(文档类型定义)当

成了这个“参数”,因为以前的页面大家都不会去写 DTD,所以 IE6 就假定 如果写了 DTD,

就意味着这个页面将采用对 CSS 支持更好的布局,而如果没有,则采用兼容之前的布局方式。

这就是 Quirks 模式(怪癖模式,诡异模式,怪异模式)。

区别:

总体会有布局、样式解析和脚本执行三个方面的区别。

盒模型:在 W3C 标准中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,

而在 Quirks 模式下,IE 的宽度和高度还包含了 padding 和 border。

设置行内元素的高宽:在 Standards 模式下,给<span>等行内元素设置 wdith 和 height 都

不会生效,而在 quirks 模式下,则会生效。

设置百分比的高度:在 standards 模式下,一个元素的高度是由其包含的内容来决定的,如

果父元素没有设置百分比的高度,子元素设置一个百分比的高度是无效的

用 margin:0 auto 设置水平居中:使用 margin:0 auto 在 standards 模式下可以使元素水

平居中,但在 quirks 模式下却会失效。

(还有很多,答出什么不重要,关键是看他答出的这些是不是自己经验遇到的,还是说都是

看文章看的,甚至完全不知道)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值