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">
在<head>
标签中应该这样做。
【讨论】:
是的,成功了……你能帮我解释一下吗? @Abhishek:元元素不需要在 HTML5 中显式关闭(历史上反对旧的 HTML 规范关闭它实际上是无效的)。 @reisio - 如果您查看历史记录,您会发现他最初没有使用右括号 (>
)。
它必须是第一个还是唯一的元标记?因为它在那里并且仍然默认为怪癖模式。
我发现将这个元标记放在 标记之后会起作用,而将它放在 的底部可能不起作用,可能是由于其他内容的干扰。【参考方案2】:
确保在 DOCTYPE 声明之前没有任何 HTML cmets,否则会触发 IE9 使用 quirks 模式。
只需在页面顶部添加<!DOCTYPE html>
,前面没有任何内容,就足以使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 中未发生)