4

为什么 w3c 有不同 Doc-types 的约定 .. ?相反,他们本可以只推荐一种 Doc 类型(比如松散类型.. 因为它容易出现更少的 SILLY 错误)并将其标准化到所有浏览器(包括 mob 和 PDA 中的浏览器)..

我没有在任何教程中都得到了令人满意的答案。我一直在阅读“这些不同的文档类型有何不同”,但我想知道我们真的需要它吗???

4

5 回答 5

12

这就是 HTML5 要做的事情:

<!DOCTYPE html>
于 2009-12-21T12:58:50.350 回答
7

你可能应该听Molly Holzschlag 的 Hanselminutes。他们与斯科特详细讨论了这个问题。

Molly Holzschlag:所以说真的,当我们考虑 DOCTYPE 时,我们正在考虑一些非常被动的东西,而且从来没有打算成为现在的样子。

...

所以我们现在有了这个 DOCTYPE 切换,这给 DOCTYPE 带来了很大的压力,使其变得比以往任何时候都多。它本质上是一种 hack,但我认为它是推进网络所必需的,这就是为什么我想召集那里的一些人,让人们知道人们已经做了一些好的工作。但出于这个原因,它也增加了一层混乱。所以当我们现在比较 DOCTYPE 时会很有趣。我们转到 HTML 5.0 并查看 DOCTYPE,DOCTYPE 只是尖括号、感叹号、小写 HTML 中的 DOCTYPE。那就是文档类型。没有别的了。

于 2009-12-21T13:00:43.417 回答
4

旧的文档类型(HTML 5 之前)是 SGML 中嵌入版本和验证信息的标准化机制。如果您使用功能齐全的 SGML 工作流程,它们为自动处理文件提供了极大的可能性。

在这种情况下,HTML 4/XHTML 1 的不同 DOCTYPES 在当时(10 年前)是一个不错的主意。他们允许作者说:“哦,我有一个旧页面,我一定会使用这个和那个标签。” 或“是的,我使用最新、最干净的标记。我知道我在做什么。”

为什么这个“公共标识符”的东西等等?好处的一个例子:它允许在本地存储(并在以后重新分配)任何 HTML 文件的 DTD,即使没有 Internet 访问,您也可以验证它。(记住:SGML 是在 80 年代标准化的。)

于 2009-12-21T13:07:34.403 回答
2

好吧,像 doctypes 这样的标准的演变总是一个委员会坐在一起制定标准的过程。执行标准的真实情况;标准的错误和失败变得可见;委员会制定了新的改进标准,但由于必须保留向后兼容性,因此无法从头开始。因此,引入了修复和解决方法,以便可以在不破坏旧标准的情况下使用新标准。

很多愚蠢的事情都是这样发展的。

正如其他答案所指出的那样,HTML 5 承诺在这方面有所改进。

于 2009-12-21T13:04:31.960 回答
2

当前的标准每种语言都有三种 Doctype,每种都有自己的位置:

  • 框架集——我正在使用框架
  • 过渡——这个标准出现在 90 年代中期,我还没有准备好使用 CSS
  • 严格——CSS 准备好了
于 2009-12-21T13:50:19.683 回答