0

由于网页第一行(通常)中的 Doctype 设置,网页渲染似乎存在相当大的差异。

所以我想知道如果没有提到默认的 DTD 是什么

例如,如果简单地这样说:

<!DOCTYPE html>
4

2 回答 2

0

这就是 HTML5 文档类型声明

于 2012-09-29T04:21:15.323 回答
0

由于网页第一行(通常)中的 Doctype 设置,网页渲染似乎存在相当大的差异。

浏览器使用 Doctypes 作为魔术字符串在Quirks 模式和标准模式(以及几乎标准模式)之间切换。您需要一个真正的 SGML/XML 解析器来处理 DTD。

所以我想知道如果没有提到默认的 DTD 是什么

如果有公共标识符但没有系统标识符,则解析器应在本地目录中查找 DTD。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ — Formal Public Identifier

然而,您所拥有的是 HTML 5 Doctype,它被设计成只是魔术模式切换字符串。HTML 5 明确不是基于 SGML。因此,根本没有与之关联的 DTD。

于 2012-09-29T05:59:12.957 回答