是否可以在不使用DOCTYPE的情况下让IE7退出快速模式?

时间:2010-05-28 16:21:01

标签: css doctype quirks-mode

在这种特殊情况下,我无法选择DOCTYPE。我不能用一个。这是一个奇怪的情况,但事实就是如此。

我们有一些使用子选择器的CSS(“p> a> span”等)。这些工作在IE7,,即使我们没有DOCTYPE ......然后他们突然停止工作。我们做的事情导致IE7进入怪癖模式,我不知道那是什么。

我这样做了:

alert(document.compatMode);

它以“BackCompat”返回,所以我知道我们处于怪癖模式,这是有道理的,因为我们没有DOCTYPE。但是我们一直没有DOCTYPE,这个 正在工作,这告诉我还有其他方法可以让IE7摆脱怪癖模式。

2 个答案:

答案 0 :(得分:1)

通过将Web服务器中的DOCTYPE标头设置为X-UA-Compatible并将其作为HTTP标头的一部分发送,可以在不使用IE=EmulateIE7的情况下强制执行IE7兼容模式。有关如何在IIS中执行此操作,请参阅Configuring Web Servers to Specify Default Compatibility Modes,对于Apache,请参阅Apache httpd configuration for IE7 standard mode rendering in IE8

答案 1 :(得分:0)

嗯,也许这会有帮助吗?

目前有两种方法可以在HTML文件中声明ISO值。其中之一是在doctype声明之前直接将XML prolog放在每个HTML文件的最顶行。以这种方式声明意味着每个HTML文件的前三行可能如下所示:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

(第一行是XML序言;第二行和第三行是doctype声明。)

由于第1行没有doctype声明,Internet Explorer 6将恢复为怪异模式(尽管上述HTML代码完全有效)。但是,Internet Explorer 7不会还原为怪癖模式,而是以标准模式呈现网页。 (如果您之前没有听说过这些术语,您可能希望阅读更多有关怪癖和严格模式的内容。)

来自:http://www.webcredible.co.uk/user-friendly-resources/css/internet-explorer-7.shtml