1

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

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

我这样做了:

alert(document.compatMode);

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

4

2 回答 2

1

您可以在不使用 a 的情况下强制 IE7 兼容模式,方法是DOCTYPEX-UA-Compatible标头设置为IE=EmulateIE7您的 Web 服务器并将其作为 HTTP 标头的一部分发送。有关如何在 IIS 或Apache httpd 配置中为 IE8 for Apache中的 IE7 标准模式呈现进行此操作,请参阅配置 Web 服务器以指定默认兼容模式。

于 2010-08-15T18:56:45.357 回答
0

嗯,也许这会有所帮助?

目前有两种方法可以在 HTML 文件中声明 ISO 值。其中之一是将 XML 序言放在每个 HTML 文件的最顶行,直接在 doctype 声明之前。以这种方式声明它意味着每个 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 恢复到 quirks 模式(尽管上面的 HTML 代码完全有效)。但是,Internet Explorer 7 不会恢复到怪癖模式,而是会以标准模式呈现网页。(如果您以前没有听说过这些术语,您可能希望阅读更多关于怪癖和严格模式的信息。)

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

于 2010-05-28T16:32:53.630 回答