HTML 5 Doctype and IE 6

20

我经常在浏览某些页面时看到这个 doctype 声明

<!DOCTYPE html>

我进行了一些初步的调查,这是HTML 5的文档类型声明。现代浏览器可以解释它,并强制在标准模式下运行。

我的问题是,我的一些目标用户仍在使用IE6。如果我声明这样的文档类型,IE6会如何响应?

在这种情况下,我会获得任何好处或损失吗?

谢谢。

2个回答

18

简短回答:HTML5 doctype在IE6中可以正常工作。

详细回答:请参考Henri Sivonen的综合研究,了解不同doctype对不同浏览器的影响。


你的博客非常棒。谢谢! - Mark Estrada

10

在IE6中使用HTML5 doctype没有任何缺点。好处是更短的doctype,更容易记忆。

然而,IE浏览器存在一个奇怪的bug,如果您使用它尚未识别的HTML5标签,则无法使用CSS对其进行样式设置。浏览器会像标签不存在一样处理。不过,标签内容仍将正常呈现。

要解决这个问题,您可以通过调用createElement函数并使用您想在页面上使用的HTML5标签名称来绕过此问题。这样做:

document.createElement('video');
在您的网页中,放置 <video /> 标签之前,这将允许您对标签应用适当的样式。请注意,浏览器仍然不会实际处理标签。您只能对其应用 CSS 样式。
为了使此过程更加简便,通常建议在页面上使用此 HTML5 shim 库。只需在您的文档中包含它,在任何 CSS 或 HTML5 元素之前。
<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接