由于网页第一行(通常)中的 Doctype 设置,网页渲染似乎存在相当大的差异。
所以我想知道如果没有提到默认的 DTD 是什么
例如,如果简单地这样说:
<!DOCTYPE html>
由于网页第一行(通常)中的 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。