可以不使用/&gt;关闭像<img/>这样的HTML标签吗?

时间:2013-07-21 15:01:41

标签: html html5 xhtml

我总是学会关闭像imgmeta等HTML标签,如下所示:

<img src="..." />
<meta charset="..." />
<hr />
<br />
<input type="..." />

但是我看到很多网站都没有将/>放在最后。他们只是将>放在最后。结果如下:

<img src="...">
<meta charset="...">
<hr>
<br>
<input type="...">

但对我来说这似乎并不正确......当你这样做的时候,浏览器怎么知道标签是否仍然需要在某个地方关闭?这也是我多年前学到的东西。

但即使Twitter Bootstrap正在关闭最后没有input的{​​{1}}代码。

这是非常有效的HTML吗?它现在是一种首选方式吗?

2 个答案:

答案 0 :(得分:5)

<foo />是XML语法。它仅在XML(包括XHTML)中有意义。

但是,让我们来处理HTML。

  

当您这样做时,浏览器如何知道标签是否仍然需要在某处关闭?

某些元素需要结束标记。这些必须有明确的</foo>

某些元素不能包含任何子节点,并且不能有明确的</foo>。例如<img>

某些元素具有可选的结束标记(例如<p>)。浏览器会在遇到显式结束标记(</p>)时关闭这些元素,他们遇到的元素的开始标记不允许作为该元素内的子节点(例如<div>内部另一个<p>内的<li><li>

浏览器知道哪些元素具有必需,可选或禁止的结束标记,因为它们被编程为识别HTML。

HTML 5允许元素上的/>语法禁止结束标记,但这只是沉迷于XML的人的语法糖。

答案 1 :(得分:0)

这在HTML5中有效,但在XHTML中无效。我个人更喜欢使用它,只是因为节省了一些字节。