2010-05-24 23 views
14

我在网页上使用了一些HTML5功能,并想知道最好的DOCTYPE是什么。目前,这是DOCTYPE和XMLNS:为HTML 5 +所有浏览器选择DOCTYPE

<!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

请参阅http://stackoverflow.com/questions/5629/any-reason-not-to-start-using-the-html-5-doctype – Anurag 2010-05-24 18:58:08

回答

12

是的,旧版浏览器可以正常工作。在HTML5中选择了“<!DOCTYPE html”的原因是因为它是文档类型最小的,并且仍然会在您提到的那些浏览器上触发标准合规模式。

+5

正确。但是,有一个需要注意的问题。虽然HTML5的文档类型会触发标准兼容模式,假设页面被作为text/html,“<!DOCTYPE html PUBLIC” - // W3C // DTD XHTML 1.0 Transitional // EN“ ”http:// www。 w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>'不会。它会导致限制怪癖模式。请参阅http://dev.w3.org/html5/spec/tokenization.html#the-initial-insertion-mode。如果OP的页面依赖于此,它将与HTML5文档类型打破。 – Alohci 2010-05-24 19:32:11

+1

另一个需要注意的问题。 http://diveintohtml5.org/semantics.html#blank-space-gotcha – 2010-05-24 22:06:48

+0

@Alohci - 链接随着时间的推移而中断,所以我想3年后的链接现在http://www.w3schools.com/tags/ tag_doctype.asp – Wilf 2014-01-16 22:37:10