JavaScript-一般在什么情况下会倾向于使用浏览器的Quirks mode

WP主题Bug提交 WP主题Bug提交 主题:1067 回复:2226

JavaScript-一般在什么情况下会倾向于使用浏览器的Quirks mode

浮生未歇 发布于 2017-05-07 字数 591 浏览 1089 回复 2

Quirks mode主要是用于兼容旧的非标准的html文档。那么我们现在写html的时候还有必要启用Quirks mode吗?

http://www.gunlaug.no/contents/wd_additions_16.html (Internet Explorer 6 works best in Quirks mode)
链接中的文章指出了如下几点用Quirks模式的理由,主要是在IE6上使用
why throw IE6 into Quirks mode..?
·IE6 needs quite a few hacks, workarounds and/or avoidances in both modes, but most often a few less when in Quirks mode.
·little need to correct IE6 separate from IE5.0 and 5.5, as they have mostly the same bugs when they are running in the same mode.
……

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

归属感 2017-09-15 2 楼

quirksmode就是为了兼容ie6之前的版本才出现的东西
当你页面的声明是错误的时候(不是标准的xhtml或者html的声明头),ie7以上会认为它是一个非标准的页面,然后会自动的使用quirks mode来解析

目前大家至少xp 普遍win7,ie也不会有比ie6更低的版本了,基本可以不用理会quirks mode了

归属感 2017-05-13 1 楼

也许换一种角度来看,Quirks mode是一种比较另类的开发方式。

在quirksmode下,所有大于5.5版本的ie浏览器,都会降级到5.5版本,以5.5的渲染方式去渲染页面。也就是会出现怪异的盒模型等等问题。但是,其实换个角度想想,所有ie的平台又统一了。我们现在只需要编写两套样式,一套给在quirksmode下的ie,一套给标准浏览器,就万事大吉。

更进一步,我们会发现css中有这么一个属性——box-sizing。它有两个取值,border-box & content-box。如果给设置为border-box,则会按照怪异模式盒模型去渲染,content-box则是w3c的盒模型。 其实对于怪异模式和标准模式,一个很大的区别就是盒模型上的解析不同。给所有元素设置一个box-sizing:border-box,把标准盒模型切换到了怪异盒模型上,也相当于我们把刚才的两套模式相互拉近了一大步。

关于quirksmode的具体描述,可以参见ppk的文章:http://www.quirksmode.org/css/quirksmode.html
box-sizing 参见: http://www.quirksmode.org/css/box.html