7

IE10 开发人员工具、JavaScript 和 CSS 方面的Quirks ModeInternet Explorer 5 quirks有什么区别?

这两种模式中的哪一种可以从 HTML 中触发(与 devtools 不同)?

IE10 文档模式

我在 MSDN 上阅读了这篇博文,但无法理解这种 IE5 怪癖模式何时可以在现实世界的网站上发挥作用。它说他们所要做的就是不包括文档类型,并且浏览器必须在兼容性视图中。后者是手动启用还是通过 HTML 或什么启用?

我是插件作者,我担心其他人的文档/浏览器模式破坏了我的插件。

4

1 回答 1

7

IE10 之前的 IE 版本只有一个 Quirks Mode。此模式现在称为IE10 及更高版本中的IE5 Quirks 。

IE10 引入了第二种 Quirks 模式,它简称为Quirks

这两种模式都将渲染模式更改为使用旧的“怪癖”框模型,以及其他布局更改。这一点在他们之间是一致的。

最初的 Quirks 模式基本上是模仿 IE5 的向后兼容模式。正因为如此,除了改变盒子模型等之外,它还禁用了自 IE5 以来引入的大部分浏览器功能——因此在这种模式下,没有任何新的 HTML5 功能将起作用。

较新的 Quirks 模式使用与旧的 Quirks 模式相同的渲染规则,但不会禁用所有浏览器功能。

这就是它们之间的基本区别。

然后可以问这个问题,为什么要同时使用两种模式?

答案是其他浏览器(例如 Chrome)也有一个 Quirks 模式,当页面没有文档类型时会触发(就像 IE)。但是其他浏览器从来没有像 IE 那样为了向后兼容而禁用它们的任何功能。

结果是,即使在基本呈现规则相同的情况下,在 IE 中处于 quirks 模式的站点与其他浏览器相比可能看起来完全不同。

因此,IE 引入了更新的 quirks 模式,以提高 quirks 模式下站点的跨浏览器兼容性。

但结果是,较新的 quirks 模式将呈现一些与旧 quirks 模式不同的页面,因此仍然需要旧的,以便 MS 支持为其编写网站的用户。

最终,如果可能的话,应该避免使用怪癖模式(其中任何一种)。尽管微软通过引入额外模式付出了跨浏览器的努力,但当您处于怪癖模式时,浏览器之间仍然存在重大差异。

最佳实践是尽可能使用标准模式。

无论如何都应该不需要 Quirks 模式:如果您需要 Quirks 模式框模型,可以使用 CSS 在标准模式下访问它box-sizing:border-box

于 2013-10-10T14:36:36.977 回答