HTML中<tag> </tag>和<tag>之间有什么区别?</tag>

时间:2012-05-23 18:56:55

标签: html tags formatting

  

可能重复:
  Using the XHTML closing slash (/) on normal tags?
  Are self-closing tags valid in HTML5?

我正在审查很多HTML代码以及合成HTML的JavaScript,我注意到如果标签内部有一些没有内容的标签,那么有两种方法可以指定它。要么是这样的:

<div id="container"></div>

或者像这样:

<div id="container" />

两者之间有什么区别吗?

3 个答案:

答案 0 :(得分:4)

浏览器将无效标记规范化为有效格式:

<div />在技术上是无效的标记(HTML 5),因为div不是自动关闭标记。

浏览器会将其标准化为<div>

请注意,这与 XML 处理自动关闭代码与封闭代码相比的方式不同。

自闭标签没有子项,内部文本没有值(null):

<foo />

封闭的标签没有子节点,也没有内部文本(空字符串):

<foo></foo>

答案 1 :(得分:-1)

<div id="container"/>是编写不包含任何内容的标记的正确XHTML方式。通常这些是<img/><br/>等。 <div>旨在将内容放入其中,因此<div id="container"/>虽然可以接受,但可读性较差。

答案 2 :(得分:-2)

第一个例子是严格的HTML,第二个例子是严格的xHTML。

在HTML5之前,当您必须指定是否使用HTML或xHTML时,使用错误的语法会导致验证错误,有时会出现问题。使用HTML5 doctype使得差异无可争议。

其次,第二个示例是自闭项标记之一,在本例中为空div,但xHTML规范中的许多标记都支持该标记,包括imglinkmeta,以及其他任何空的标记。