任何人都可以解释我在IE中看到的怪异模式的真实本质吗?

时间:2012-03-01 07:50:09

标签: internet-explorer quirks-mode

在IE的开发者工具中,我看到有一种奇怪的模式。我有一个Web工具栏类的应用程序,当置于怪癖模式时,完全中断。所以任何人都能解释我在IE中看到的怪癖模式的真实本质吗?什么样的doctype触发了这种怪癖模式?我有一位开发人员经常建议我继续努力。但我怀疑花费很多时间使其与怪癖模式兼容是多少值得的。首先,我不知道这种怪癖模式在何处以及如何适用。

我提到了几篇文章,如msdn博客,但找不到可信的解释。所以任何人都可以更清楚地解释一下这个怪癖模式是什么?

1 个答案:

答案 0 :(得分:1)

“Quirks模式”基本上是人们真正关心标准的日子。 IE和Netscape(当时的Big Two)渲染的东西与大多数其他浏览器甚至彼此不同,当验证和标准变得很重要时,有效的HTML和CSS打破了页面的全部地狱。为了保持理智并避免在一夜之间破坏整个Web,浏览器制造商(特别是MS)使他们的新浏览器能够呈现与旧版本兼容的页面。但是,他们不能只是始终以旧的方式渲染事物,或者人们会找到一个“正确”工作的浏览器。因此诞生了“怪癖模式”。

基本上,为了触发怪癖模式,您只需不指定doctype。 (我认为HTML 3.2文档类型也可以触发它,但从来没有足够的关注尝试它。无论哪种方式,HTML4 +的正确doctype声明都没有。)这基本上告诉浏览器“嘿,渲染这个你认为合适”。在大多数浏览器中,它不会产生太大的影响...但是ooooboy,在IE中,如果你的HTML与现代版本接近,那么事情看起来会很糟糕。

现在,您应该始终使用doctype(它应该是HTML 4或更高版本),因此怪癖模式更具历史意义 - 除非您忘记了doctype。但是,不要为它编码;甚至不使其存在合法化。这是过去的旧错误,我们正试图摆脱它们。