IE vs Chrome怪癖模式

时间:2016-05-08 10:52:55

标签: javascript html google-chrome internet-explorer quirks-mode

如果我正确理解IE文档模式:

  • 怪癖模式:

使用IE版本的HTML + css渲染引擎< = 5

  • 然后我们有一些XU兼容模式:

喜欢ie6,7,8等

  • 然后是标准模式:

使用当前的实现

(为了简单起见,我没有提到半标准模式)

但是Chrome怎么样? 我是指quirks模式所指的版本, 当Html + css标准不是时,它必须是那些版本 但我已经正确实施......

另外javascript的怪癖模式对javascript有影响 实施?

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

首先,不,没有IE6兼容模式。 XU兼容模式从IE7模式开始。

现在,回答你的问题:所有主要的浏览器都实现了怪癖模式,它将用于网站没有提供DOCTYPE或使用触发怪癖模式的情况。

您可以通过查看document.compatMode === "BackCompat"

来检查任何现代浏览器中的怪癖模式

然而,怪癖模式的一个主要问题是它在所有浏览器之间并不一致。特别是,旧版本的IE将以不同于其他浏览器的方式呈现怪癖模式页面。

此外,IE认为quirks模式是IE5.5的兼容模式。因此,它禁用了以后版本中实现的大多数浏览器功能,以使页面尽可能接近地呈现在IE5.5中的完成情况。其他浏览器不这样做;对于他们来说,怪癖模式只是改变一些样式默认值(box-sizing是主要默认值)的情况;他们不会为quirks模式禁用任何功能,因此他们会以非常不同的方式渲染怪癖模式页面。

除了上述内容之外,IE11与早期的IE版本不同。 IE11有两种独立的怪癖模式:一种是上面描述的IE5兼容模式;另一个旨在与其他浏览器中的怪异模式兼容。这两种模式可以通过不同的方式触发,但它可能会令人困惑,而且并不总是显而易见的。

出于所有这些原因,你应该避免怪癖模式。坚持使用标准模式,您将在所有浏览器中获得(合理)一致的渲染。