<html>元素的目的是什么?

9

文件类型不是已经让浏览器知道文档是一个html文档了吗?MDN提到它是根元素,那么使用它只是一种礼节性的表述吗?


https://w3c.github.io/html/semantics.html#the-html-element - Felix Kling
2个回答

4

HTML、XML和SGML都需要嵌套在根元素内,这是它们的一个家族特征。这是数据标准的一部分,可以让解释器知道何时开始和停止,并验证文档是否完整和格式正确。

<!DOCTYPE html>指定文档类型。在这种情况下,它表示当前为HTML 5,而不是XML或XHTML 1.0 transitional等其他类型。请记住,如果您将其作为字节流下载,可能无法始终知道文件类型。


2
此外,HTML 可以在其他文件中呈现,例如 ASP 或 PHP。 - Talmage
2
@Talmage:至少对于PHP而言,这与HTML无关,而是与PHP的工作方式有关。此外,HTML不会在这些文件中呈现。相反,评估PHP文件的输出是文本,由消费程序(例如浏览器)解释。 - Felix Kling
是的,但浏览器不能使用文件扩展名来确定如何呈现,就像问题所假定的那样。标签告诉浏览器将其呈现为HTML而不是其他格式。 - Talmage
值得注意的是,在HTML文档中(但不是XHTML文档),可以省略<html>和</html> 标签,并且html元素仍将作为根元素存在。因此,无论您是否指定标签,根元素始终会存在,原因在本答案中给出。 - BoltClock

3
是的。 <html> 标签是根标签,有些情况下甚至可以省略(来自MDN):

如果 <html> 元素内的第一个元素不是注释,则可以省略开始标记。 如果 <html> 元素后面没有紧跟着注释,并且它包含一个非空的 <body> 元素或其开始标记存在,则可以省略结束标记。

但不仅如此:
  • 它可以使用 CSS 进行样式化(尽管通常样式化 <body> 就足够了)。
  • 它可以具有全局属性,特别是 lang,这是定义 HTML 文档语言的W3C 方式
可能还有更多要说的,但除了作为 HTML 文档的根元素之外,这就是我看到的 <html> 元素的主要作用。

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