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

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

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

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

有帮助吗?

解决方案

虽然&lt;!doctype html&gt; 非常好,但 WHW-WG建议使用&lt;!DOCTYPE html&gt; ,以防万一你最终以XHTML5的形式提供文件(在这种情况下,大小写变得很重要)。

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

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

其他提示

&lt;!doctype html&gt; 似乎很好..

  

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

  

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

&lt;!DOCTYPE html&gt; 并不是一个糟糕的答案。

  

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

我已经给出了关于一般选择doctype 的罐头答案,甚至虽然我使用&lt;!DOCTYPE html&gt; 作为我的新个人刊物。

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

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

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

严格 - 一个好的核心。

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

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

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top