Html 为什么身体外的内容仍然显示?

Html 为什么身体外的内容仍然显示?,html,Html,您好,我是新的编码,因为我在html中阅读只有标签的内容将显示,但在我的情况下,即使是标签外的内容也会显示,为什么会这样?我在这里犯了什么错误吗 下面是代码 <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> Welcome html learner <body>

您好,我是新的编码,因为我在html中阅读只有标签的内容将显示,但在我的情况下,即使是标签外的内容也会显示,为什么会这样?我在这里犯了什么错误吗

下面是代码

<!DOCTYPE html>
<html>

    <head>
        <title>Page Title</title>
    </head>
        Welcome html learner
    <body>

        <h1>My First Heading</h1>
        <p>My first paragraph.</p>

    </body>
</html> 

页面标题
欢迎html学习者
我的第一个标题
我的第一段


在场景2中,正文外的内容也在显示。

根据HTML的语法,
&
之间的所有内容都将显示在网页中。

简短版本:因为浏览器非常擅长错误恢复

此特定情况下的较长版本:

head
元素结尾后的文本节点触发body元素的创建。在HTML规范中,
body
元素的开始标记是显式可选的

然后,将
body
元素的属性复制到真实的
body
元素后,该元素的开始标记将被丢弃,因为它不能显示为
body
元素的子元素。(有关详细信息,请参阅)


因此,所有内容都不在
正文
元素之外

代码肯定是“错误的”。但是不同的浏览器可以非常宽容各种各样的HTML编码错误/无效HTML。“违反规则”的主要原因是,不能保证违规代码将a)显示,b)显示您想要的方式,和/或c)在不同浏览器之间一致显示。某些浏览器仍然显示此html文本。它的格式不正确。@SangamBelose-它不是XML,因此术语“格式正确”没有任何意义。如果它是XML,那么它将是格式良好的。每个元素都有一个开始标记和结束标记,然后以先入后出的顺序打开和关闭。@Quentin谢谢你的话。我认为格式良好的术语适用于许多标记语言,包括xhtml、html、xml等@SangamBelose——它是一个xml术语。它不适用于HTML(HTML5的XML序列化除外)。XHTML是一个XML应用程序。这并不完全正确。这肯定是错误的,但是浏览器已经发展到可以显示html了。。编辑您的答案,我将删除我的downvotevalidator.w3.org提供了一个线索:“错误:看到了开始标记体,但已经打开了相同类型的元素。”