为什么"脚本"需要关闭标签但"meta"不需要?

Mic*_*ael 6 html web-applications

我正在编写一个HTML页面,并注意到HTML标头标签并不完全一致.其中一些需要关闭标签,一些则不需要.

例如,scripttag确实需要结束标记但meta不需要.现在我想知道为什么

Abr*_*ham 9

script标签是不是空(非闭合)标签,因为它有时会包含内容(JavaScript代码),但meta标签从来不会.
将Javascript放入网页有两种方法.第一种方法是包含一个外部文件:

<script src="path/to/my/script.js"></script>
Run Code Online (Sandbox Code Playgroud)

第二种方法是将Javascript放在HTML文件中,如下所示:

<script>
  Javascript goes here
</script>
Run Code Online (Sandbox Code Playgroud)

所以有时候,script需要有内容.但meta另一方面,标签只需提供有关当前页面的少量信息,因此空标签就足够了.


Phi*_*ide 2

我相信这只是一个任意的原因,与当前系统所构建的系统有关......

“如果有人好奇,最终的原因是 HTML 最初是 SGML 的一种方言,而 SGML 是 XML 的怪异老大哥。在 SGML 领域,标签可以在 DTD 中指定为自闭合(例如 BR、HR、INPUT) )、隐式可关闭(例如 P、LI、TD)或显式可关闭(例如 TABLE、DIV、SCRIPT)。XML 当然没有这个概念。

来自: https: //stackoverflow.com/a/3327807/773263