为HTML 5选择一个DOCTYPE + 所有浏览器

20

我在网页中使用一些HTML5功能,想知道最好的DOCTYPE是什么。目前,这是DOCTYPE和XMLNS:

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

我应该使用新的HTML 5 DOCTYPE吗?

<!DOCTYPE html>

老旧的浏览器(如IE7、FF 2.x)能否正确识别和渲染页面?在这种情况下,最佳实践是什么?谢谢。


1
有什么原因不使用HTML 5 doctype开始编程? - Anurag
1个回答

15

是的,旧版浏览器也可以正常工作。HTML5中选择"<!DOCTYPE html>"的原因是因为它是最小的文档类型声明,但仍然可以在您提到的浏览器上触发标准兼容模式。


7
正确。但是需要注意一个问题。虽然HTML5文档类型将触发标准兼容模式(假设页面以text/html格式提供),但<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">则不会。它会导致有限的quirks模式,详情请参见http://dev.w3.org/html5/spec/tokenization.html#the-initial-insertion-mode。如果OP的页面依赖于这一点,则在使用HTML5文档类型时将会出现问题。 - Alohci
1
还有一个需要注意的陷阱。 - Aaron Wagner
@Alohci - 链接随时间而断裂,所以我猜3年后链接现在是http://www.w3schools.com/tags/tag_doctype.asp。 - Wilf

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