即使我添加了严格的doctype,我显然会触发怪癖模式(或至少是IE 7标准模式):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
和IE兼容性列表meta:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
我查看了该页面的Developer Tools窗口,它说该页面默认为IE 8标准模式,但仍然错误地呈现页面。但是,将开发人员工具中的模式更改为其他模式并然后切换回IE 8标准模式会导致页面正确呈现。
是否还有一些我缺少的IE特定咒语,或者这是IE 8(或IE开发人员工具)的已知错误?
如果有帮助,这里是页面的前几行(抱歉,我没有该页面的链接,它是一个专用产品,用于在Intranet上部署)。我已经检查过DOCTYPE之前没有任何内容(虽然这显然不再是IE 8的问题):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!-- to override ie compatibility mode for intranets: http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx -->
<meta http-equiv="X-UA-Compatible" content="IE=8" />
答案 0 :(得分:2)
将您的DOCTYPE更改为XHTML,或删除自动关闭标记。
答案 1 :(得分:0)
我遇到了与Neil Ongkingco描述的完全相同的问题。我们添加了一个DOCTYPE,开发人员工具显示IE正在IE8标准模式下呈现。但是,网页不会像我们预期的那样呈现。来回更改模式可以解决该会话的问题,但是它没有按照说明进行操作。以下是我们为解决问题所做的工作。
我们将DOCTYPE保留如下。我认为你是否有松散或严格的模式并不重要。
&lt;!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.01 Transitional // EN”“http://www.w3.org/TR/html4/loose.dtd”&gt;
如上所述添加了兼容X-UA的元标记。我们省略了结束斜杠,如下所示。
&lt; meta http-equiv =“X-UA-Compatible”content =“IE = 8”&gt;