6

我正在编写一个 HTML 页面,并注意到 HTML 标题标签并不完全一致。其中一些需要结束标签,而另一些则不需要。

例如,script标签确实需要结束标签,但meta不需要。现在我想知道为什么

4

2 回答 2

10

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

<script src="path/to/my/script.js"></script>

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

<script>
  Javascript goes here
</script>

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

于 2012-08-15T14:42:07.627 回答
2

我相信这只是与当前系统所基于的系统有关的任意原因......

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

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

于 2012-08-15T14:42:24.213 回答