HTML5 doctype 将 IE9 置于怪异模式?

Posted

技术标签:

【中文标题】HTML5 doctype 将 IE9 置于怪异模式?【英文标题】:HTML5 doctype putting IE9 into quirks mode? 【发布时间】:2011-09-25 15:53:41 【问题描述】:

我正在尝试让 IE9 以 IE9 标准加载我的页面...

我注意到 <!DOCTYPE html> 将这该死的东西置于怪癖模式...这几乎破坏了页面上的所有内容...

如何让 IE 遵守 IE9 标准?

【问题讨论】:

@EricLaw - 嗯?我不关注... 重现此问题的网页的 URL 是什么。 它是我正在使用的内部测试页面...但是 nvm,@David_Wick 已经回答了这个问题... :-) 另见***.com/questions/3726357/… 【参考方案1】:

放置:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

&lt;head&gt; 标签中应该这样做。

【讨论】:

是的,成功了……你能帮我解释一下吗? @Abhishek:元元素不需要在 HTML5 中显式关闭(历史上反对旧的 HTML 规范关闭它实际上是无效的)。 @reisio - 如果您查看历史记录,您会发现他最初没有使用右括号 (&gt;)。 它必须是第一个还是唯一的元标记?因为它在那里并且仍然默认为怪癖模式。 我发现将这个元标记放在 标记之后会起作用,而将它放在 的底部可能不起作用,可能是由于其他内容的干扰。【参考方案2】:

确保在 DOCTYPE 声明之前没有任何 HTML cmets,否则会触发 IE9 使用 quirks 模式。

只需在页面顶部添加&lt;!DOCTYPE html&gt;,前面没有任何内容,就足以使IE9 使用标准模式。您也不应该需要元标记。

【讨论】:

@frumbert:除了这种情况在 doctype 声明之前有 cmets,所以没有。 除了这些不被视为 html cmets 之外,它们是条件 cmets,IE(any) 不会将其解释为 dom 的一部分,而 html cmets(其中没有方括号的)会被处理作为dom,因此在空格后面。视情况、ie的版本和使用的doctype而定。 不,它没有,zuallauz 说 cmets,并且您的示例有 cmets(无论它们是标准 HTML 还是仅由 IE 解释为无关紧要)。【参考方案3】:

使用WebBrowser control to display HTML will use IE8 rendering,不管doctype,除非你指定

<meta http-equiv="X-UA-Compatible" content="IE=9" />

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

【讨论】:

【参考方案4】:

删除所有不支持的 cmets,检查支持的 cmets。 并放置在您的头部标签中。 文档类型声明应该是 HTML 中的第一行。

【讨论】:

【参考方案5】:

我在所有页面中都提到了头部。但是,它只是正确显示所有其他页面的主页,该页面仍以分散模式呈现。

【讨论】:

以上是关于HTML5 doctype 将 IE9 置于怪异模式?的主要内容,如果未能解决你的问题,请参考以下文章

IE 11 边界半径怪异(在 IE 9 和 IE 10 中未发生)

DOCTYPE

HTML5标准学习 – DOCTYPE

doctype

Doctype作用?严格模式与混杂模式如何区分?它们有何差异?

标准模式和怪异模式