HTML 5 Doctype和IE 6

Mar*_*ada 19 html html5 internet-explorer-6

我经常在我正在查看的某些页面上看到此doctype声明

<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

我做了一些软研究,这是HTML 5 doctype声明.现代浏览器可以解释这一点并强制在标准模式下运行.

我的问题是,我的一些目标用户仍在使用IE6.当我声明这样的doctype声明时,IE6将如何响应.

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

谢谢.

Bri*_*ell 18

简短回答:HTML5 doctype在IE6中运行良好.

更长的答案:请参阅Henri Sivonen对不同文档类型对不同浏览器的影响的综合研究.


Dan*_*ert 10

在IE6中使用HTML5 doctype没有任何缺点.好处是更短的文档类型,更容易记住.

但是,IE有一个奇怪的错误,如果你使用它尚未识别的HTML5标签,它们就无法用CSS设置样式.浏览器的行为就像标签不存在一样.尽管如此,内容仍然会很好.

要解决此错误,如果您createElement使用要在页面中使用的HTML5标记的名称进行调用,则浏览器将允许您使用CSS设置样式.所以,如果你这样做:

document.createElement('video');
Run Code Online (Sandbox Code Playgroud)

<video />页面上的任何标记之前,它将允许您对标记应用适当的样式.请记住,浏览器仍然不会对标记执行任何操作.你只需要将CSS应用于它.

为了简化此过程,通常会在页面上使用此HTML5填充程序库.只需任何CSS或HTML5元素之前将其包含在您的文档中.

<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)