是不是可以不使用/>关闭<img>之类的HTML标签?

Viv*_*ndi 1 html xhtml html5

我总是学到关闭HTML标签,如img,meta等这样的:

<img src="..." />
<meta charset="..." />
<hr />
<br />
<input type="..." />
Run Code Online (Sandbox Code Playgroud)

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

<img src="...">
<meta charset="...">
<hr>
<br>
<input type="...">
Run Code Online (Sandbox Code Playgroud)

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

但即使Twitter Bootstrapinput没有结束标签/>.

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

Que*_*tin 5

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

但是,让我们来处理HTML.

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

一些元素需要结束标记.这些必须明确</foo>

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

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

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

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