0

出于好奇,当我发现DOCTYPE 声明中的角色时,我正在阅读 Wikipedia 上的文档类型声明文章:HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

根据维基百科,第一个属性HTML是文档的根元素,因此应该首先打开。

...在 XHTML 中,根元素是<html>, 是第一个打开的元素(在 doctype 声明之后)并且最后一次关闭。

所以我想知道,如果我要这样构造一个文档:

<!DOCTYPE burrito PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<burrito>
    <head></head>
    <body>
    A burrito is a great way to wrap a webpage.
    </body>
</burrito>

网络浏览器会使用我的<burrito>还是将其包装在<html>标签中?

4

2 回答 2

1

标题中问题的答案是“否”,因为所有 HTML 规范都将html元素定义为根元素。什么错误处理浏览器可能适用以及为什么当你违反这一点的问题并不是特别有趣,并且浏览器之间的差异是可以预料的。

在任何情况下,假冒doctype使浏览器进入 Quirks 模式,它没有任何用处,因为浏览器不关心doctype,除了 Quirks 模式、“标准模式”或一些中间模式。他们甚至不阅读所引用的文档类型定义,因此他们不会检测到不匹配。

于 2013-01-11T12:48:03.007 回答
1

它将被包裹在<html>. 像这样:

<!DOCTYPE burrito PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>....</head>
    <body>
        <burrito>
            A burrito is a great way to wrap a webpage.
        </burrito>
    </body>
</html>
于 2013-01-11T06:20:49.740 回答