1

我总是学会像这样关闭 HTML 标签imgmeta等等:

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

但我见过许多没有把 the/>放在最后的网站。他们只是放在>最后。结果是:

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

但对我来说这似乎不对......当你这样做时,浏览器如何知道标签是否仍然需要在某个地方关闭?这也是我多年前学习的方式。

但即使是Twitter Bootstrap也没有在最后关闭input标签。/>

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

4

2 回答 2

5

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

但是,让我们处理 HTML。

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

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

有些元素不能有任何子节点,也不能有明确的</foo>. 例如<img>.

某些元素具有可选的结束标签(例如<p>)。当浏览器遇到明确的结束标记 () 时,浏览器将关闭这些元素,或者遇到</p>不允许作为该元素内的子节点的元素的开始标记(例如 a <div>inside a<p>或 a <li>inside another <li>)。

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

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

于 2013-07-21T15:10:39.477 回答
0

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

于 2013-07-21T15:10:04.030 回答