HTML中的DOCTYPE转换类型是什么?

4
我正在阅读一本关于HTML的书,有一个段落我无法理解:
如果你使用了很多来自HTML 2.0和3.2时代的旧东西。那么请使用HTML 4.01 Transitional DOCTYPE,它允许您验证页面但仍允许某些旧版HTML。这样,您就不必重新制作所有HTML以使其有效。
我的问题是上面段落的含义是什么?
还有HTML的Transitional和Strict DOCTYPE之间有什么区别?
4个回答

1

Strict更接近于设计师对HTML 4的理想。Transitional包含了已经被CSS大部分取代的陈旧内容。


1

除了文档类型的内在差异之外,还要记住的另一件事是,HTML 4 过渡 文档类型是唯一会触发异常模式1(这很糟糕!)的现代文档类型(我的意思是 HTML 版本 4 及以上),而其他所有文档类型都会触发标准模式呈现。

1请参见source。同时,请注意,这有点更加复杂;当过渡文档类型没有系统标识符时,它会触发异常模式,并在具有系统标识符时触发标准模式。您真的应该使用HTML 4.01 strict版或更好的HTML 5。


如果按照HTML规范中所写的过渡性文档类型使用,则不会触发怪异模式。只有在省略系统标识符(即URI)时才会出现怪异模式。 - Quentin
我想知道,省略系统标识符是否属于非法行为? - Delan Azabani
1
可以省略它,但规范并不清楚它是“这是您将使用的Doctype”还是“这是Doctype,您可以根据SGML规范进行修改”的情况。 - Quentin

0
在严格的文档类型中,您必须引用并仅引用您定义的HTML标准。旧规则已被弃用,因此如果违反这些规则,则验证将失败。
如果您有旧的HTML格式文档,并且不想将它们更改为符合新规则,则可以使用过渡性HTML,在某种程度上同时使用新旧规则。

有一些未被弃用的元素在 Strict 模式下不可见。在 Transitional 模式下,有一些 HTML 4 中新增的元素在 Strict 模式下是不存在的。 - Quentin

0

不要使用W3Schools的文章,它有很多错误。只有两个段落我看不出错误...其中一个只是指示查看另一页。 - Quentin
DTD仅指定了一些规则,没有浏览器使用DTD来确定如何呈现内容(有些浏览器将使用Doctype切换呈现模式,但这不是Doctype应该用于的方式,也不基于DTD - 它只将Doctype视为魔术字符串)。 - Quentin
请问这些字符串的用途是什么,为什么要添加它们? - user658768

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接