IE6将DOCTYPE更改为坏的

时间:2011-01-11 13:43:15

标签: doctype internet-explorer-6

我正在使用已定义以下DOCTYPE的网站:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

当我在IE6访问该网站时,DOCTYPE神奇地改为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">

而且......好吧 - 它可以留下来,因为一切看起来都很好..但这里有一点 - 只有一页DOCTYPE改为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

我无法忍受。

XHTML更改为HTML 4.01HTML 4.0的原因是什么?

如何强制DOCTYPEIE6 XHTMLHTML 4.01

3 个答案:

答案 0 :(得分:1)

原因出乎意料:

HTML评论      放在<html>标记之前会导致页面自动更改文档类型。

答案 1 :(得分:0)

浏览器仅显示页面,从不修改原始页面。

您的问题唯一有意义的方法是,如果您正在“将页面保存为”,并想知道为什么IE保存的页面与其下载的​​页面不同。在这种情况下,我希望浏览器将页面转换为某种内部表示,以便于处理,“将页面保存为”将内部表示转换回HTML;这样它可以保存单个文件(例如使用嵌入式CSS而不是单独的CSS文件),确保保存的文件具有正确的标记(而不是原始可能未校正的标记)等。

如果这不是您想要的,请转到“查看 - &gt;页面来源”并复制&amp;粘贴它。

答案 2 :(得分:0)

doctype唯一重要的功能是强制浏览器进入标准合规模式。如果您没有doctype,旧版浏览器将进入Quirks模式;使用doctype(无论您使用哪种),浏览器将进入标准模式。

因此,使用哪一个并不重要。

XHTML doctypes将尝试强制执行XHTML,但显然只有在正确支持XHTML的浏览器中 - IE6可能会出现问题。当然,指定XHTML意味着根本没有任何错误的空间,或者您的页面将不会被呈现。

除此之外,各种doctypes之间的选择真的不多,所以我的建议是尽可能使用最新的....这就是HTML5 doctype。

HTML5 doctype如下所示:

<!DOCTYPE html>

这就是全部。简短而简洁。它适用于所有当前浏览器(包括IE6)。

这并不意味着您必须使用任何HTML5功能(它们显然无论如何都不会使用IE6),但它完全向后兼容,并且不应该为您提供任何与其他浏览器相关的奇怪故障。文档类型。

希望有所帮助。