132

它应该向后兼容 HTML4 和 XHTML。John Resig 发布了一些好处

只要我们不使用任何新的和尚不支持的功能,开始使用这种 doctype 构建网站会有什么缺点吗?

4

10 回答 10

143

考虑一下:

当用作 text/html 时,您只需要一个 doctype 来触发标准模式。除此之外,就浏览器而言,doctype 什么也不做。

当用作 text/html 时,无论您使用 XHTML 标记还是 HTML 标记,浏览器都将其视为 HTML。

因此,实际上归结为使用触发标准模式的最短文档类型 (<!DOCTYPE html>) 并使用在浏览器中产生正确结果的 HTML 标记。

剩下的就是关于一致性、验证和标记偏好。

话虽如此,现在使用 <!DOCTYPE html> 并尝试使您的标记符合 HTML5 并不是一个坏主意,只要您坚持现在在浏览器中工作的稳定功能。您不会在 HTML4 或 XHTML 1.x 中使用任何在浏览器中不起作用的东西,对吗?

换句话说,您使用带有类似 HTML4 的标记的 <!DOCTYPE html>,同时尊重 HTML5 中已阐明的内容。毕竟 HTML5 是关于浏览器兼容性的。

现在使用 HTML5 的缺点是规范可能会经常更改。这使得您在规范发生变化时跟上规范非常重要。此外http://validator.nu/可能并不总是最新的,但http://validator.w3.org/也不总是最新的,所以不要让它阻止你。

当然,如果您想使用 XHTML 1.0 标记并符合 XHTML 1.0,那么您不应该使用 <!DOCTYPE html>。

就个人而言,我总是将 <!DOCTYPE html> 用于 HTML。

于 2008-08-18T04:42:59.413 回答
3

我对您的问题是,如果您不使用任何新的/不受支持的功能,为什么要使用它。我并不是说你不能玩弄它,而是为什么要开始使用没有任何好处并且可以由 XHTML5 补充的 doctype 来构建站点。

于 2008-08-08T04:28:09.627 回答
2

我会说使用它并进行广泛的测试。然后让我们知道它是否炸毁了你的房子或其他什么。:')

于 2008-08-08T04:12:49.813 回答
2

基于最新的 IE8 测试版,MS 似乎将使用 HTML5 doctype 作为 IE8 模式切换泥潭的旁路。似乎早期部署 HTML5 doctype 的最大风险是,如果人们在 IE8 发布之前使用 HTML5 doctype 发布大量与 IE8 不兼容的内容,MS 可能会对简化 HTML5 的模式情况感到冷漠。

更新:这似乎被否决了。很明显,现在 IE8 已经发布,上述考虑不再适用。事实上,IE8 的情况并不简单

于 2008-09-30T09:10:55.583 回答
2

对我来说,缺点主要涉及验证:

  1. 第三方验证工具并不总是跟上不断变化的规范,这让我最喜欢的工具变得不可靠。
  2. 我更喜欢针对严格的文档类型进行验证,以确保我已经关闭了所有元素。这是避免简单但耗时的嵌套错误的简单方法。使用 HTML 5,您不必关闭元素,因此无法找到不匹配的标签。
于 2010-08-18T16:11:26.983 回答
1

如果您要使用 doctype,请尝试这些功能。只要它们不进入生产站点,并且您对它们进行彻底的测试,就可以了。

于 2008-08-08T05:00:37.673 回答
1

考虑你的听众和你的需求。我在配备 Ubuntu 的计算机实验室中为我的课程中使用 FireFox 3 的学生的目标受众编写了诸如课堂测试之类的页面。我需要在 SVG 中嵌入 MathMl 作为 foreignObject 的 SVG。我自由地使用 HTML5 doctype 和新的 HTML5 标签。

于 2008-10-02T03:16:03.187 回答
0

看看这篇博文!不是 HTML5 的粉丝 http://www.webscienceman.com/2009/01/24/html-xhtml-html5-future-html/

于 2009-01-24T19:48:09.140 回答
0

对于任何找到这个的人。图表 http://hsivonen.iki.fi/doctype/显示了不同浏览器使用的各种呈现模式,具体取决于使用的 DOCTYPE 声明。它可以让您很好地了解 DOCTYPE 切换的工作原理。

于 2011-08-11T18:20:02.527 回答
-16

我个人会说不。HTML5 没有明显的好处,事实上甚至可以说整个事情从一开始就搞砸了。

为页眉、页脚和侧边栏使用专门的标签是一个巨大的错误——你已经以标签 (div) 和名称 (classes/id's) 的形式获得了它们。为什么我们需要专家?XHTML1.1 已经足够好了,期间。事实上,由于大多数浏览器不能正确支持 HTML4,因此使用需要数年才能获得适当支持的 doctype 几乎没有意义。

于 2008-08-08T05:10:52.070 回答