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

Ale*_*lex 19 html html5 doctype cross-browser

我在网页上使用了一些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">
Run Code Online (Sandbox Code Playgroud)

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

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

旧版浏览器(IE7,FF 2.x)是否能正确识别和呈现页面?在这种情况下,最佳做法是什么?谢谢.

Chr*_*isD 14

是的,旧的浏览器可以正常工作.在HTML 5中选择"<!DOCTYPE html>"的原因是因为它是最小的文档类型,但仍会在您提到的那些浏览器上触发标准合规模式.

  • 正确.但是,有一点需要注意.虽然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 doctype. (6认同)