哪个HTML DocType?

时间:2009-11-27 13:12:56

标签: html5 doctype

我今天被一位资深开发人员问到,如果我要为开放网络写一些东西(个人/非商业),我会使用哪种doctype。

我回答,<!doctype html>,我受到了震惊,恐惧和惊讶的欢迎,然后被要求解释自己。

在我看来,它是一个很好的候选者,因为当前的浏览器(IE,FF,Opera,Safari)会查看它并将内容切换到标准模式 - 即使它们没有实现HTML5。如果我想真正利用HTML5元素,我可以使用一些javascript来创建对那些IE无法识别的标签的引用(例如document.createElement('article');),然后使用它们就像它们是本机部分一样DOM。

这真的是一个糟糕的答案吗?你会回答什么以及为什么?

7 个答案:

答案 0 :(得分:6)

<!doctype html>完全正常,WHAT-WG recommendation is to use <!DOCTYPE html>,以防万一你最终以XHTML5格式提供文件(在这种情况下,大小写变得很重要)。

@David Dorward(无法发表评论,所以......)我不同意您对HTML5的陈述。虽然新的东西(结构元素等)目前浏览器支持不足,但HTML5是90%HTML4,具有定义的错误处理(最终)。浏览器解析HTML5与HTML4相同,因此假设您不使用结构元素(div仍然有效),差异很小。 Validator.nu比W3的HTML4.1 Strict验证器提供更好的结果,开发速度更快,并且基于更详细的规范。

我的建议是暂时忽略HTML5中的新内容,并将其视为HTML4的更精确规范。没有缺点和好处。

答案 1 :(得分:3)

<!doctype html>似乎很好......

  

这个新的DOCTYPE有什么好处,特别是,所有当前的浏览器(IE,FF,Opera,Safari)都会查看它并将内容切换到标准模式 - 即使它们没有实现HTML5。这意味着您今天可以开始使用HTML5编写您的网页,并让它们持续非常非常长的时间。 / http://ejohn.org/blog/html5-doctype/

答案 2 :(得分:3)

  

这真的是一个错误的答案吗?

<!DOCTYPE html>并不是一个糟糕的答案。

  

你会回答什么以及为什么?

即使我将<!DOCTYPE html>用于我的新个人出版物,我也已经给出了关于choosing a doctype的一般答案。

答案 3 :(得分:2)

答案 4 :(得分:2)

HTML5 - 具有仍在不断变化的目标的实验性,不成熟的QA工具。 (如果你必须使用JavaScript(可能会被关闭)来获得基本的结构元素,那么'eeep!')。

XHTML - 需要附录C hackery才能使用Internet Explorer。 DTD的表现力不如HTML 4。

HTML 4 - 成熟,经过良好测试,主要由浏览器支持,不需要任何hackery。无法通过XML工具进行解析(但很少有人在网页上内部使用这些工具)

严格 - 一个好的核心。

过渡性 - 应该避免严格加上(有一些例外)的东西。

因此,HTML 4.01 Strict可能是最佳选择。显然有例外,但我会把它作为起点。

答案 5 :(得分:1)

我会回答你的问题,因为你是正确的,我不再使用任何其他doctype用于任何新的网页,原因如下面的几个好的链接(包括Anne的答案,因为他在Opera工作)。 / p>

答案 6 :(得分:1)

首先,我要说首先不应该引入Doctype。您不能使用text / html mimetype以外的任何其他方式提供跨浏览器页面,并且不要让我开始使用DTD。

所有doctype都是触发标准模式,只是因为许多站点不是按标准构建的,更不用说w3c规范了。如果doctype只有一个目的,那么简单。 HTML5正是如此。开发人员不应该让我们假装doctype具有除开关标准模式之外的任何其他含义。

“高级”开发人员应该继续他的工作,并停止对人们讨论这些无聊的东西。