我正在编写一个HTML页面,并注意到HTML标头标签并不完全一致。其中一些需要关闭标签,一些则不需要。
例如,script
标记确实需要结束标记,但meta
不需要。现在我想知道为什么?
答案 0 :(得分:9)
script
标记不是空(非关闭)标记,因为它有时包含内容(Javascript代码),但meta
标记从不这样做。
将Javascript放入网页有两种方法。第一种方法是包含一个外部文件:
<script src="path/to/my/script.js"></script>
第二种方法是将Javascript放在HTML文件中,如下所示:
<script>
Javascript goes here
</script>
有时,script
需要有内容。但另一方面,meta
标记只需提供有关当前页面的少量信息,因此空标记就足够了。
答案 1 :(得分:2)
我认为与当前系统建立的系统有关的任意原因......
“如果有人好奇,最终的原因是HTML最初是SGML的方言,这是XML的奇怪的哥哥。在SGML-land中,标签可以在DTD中指定为自动关闭(例如BR, HR,INPUT),隐式可关闭(例如P,LI,TD),或明确可关闭(例如TABLE,DIV,SCRIPT)。当然,XML没有这个概念。“