自闭合标签末尾要不要加 /,这个问题一直 "困扰" 着我。但是抱着无所谓的态度,一直没有仔细去看下。

以 img 标签为例,一般有以下三种写法:

<img src="xxx">
<img src="xxx"/>
<img src="xxx" />

一般我用最后一种,习惯的力量总是很强大,因为以前看到的规范中的一条就有这项(自闭合标签用 / 手动闭合)。

self-closing tags

自闭合标签,在 HTML5 中叫做 self-closing tags,在 HTML 规范中叫做 void-elements

一共有下面这些:

<area />
<base />
<br />
<col />
<command />
<embed />
<hr />
<img />
<input />
<keygen />
<link />
<menuitem />
<meta />
<param />
<source />
<track />
<wbr />

/ 前的空格是可选的。

是否必须

  • HTML5: 可选
  • HTML4: the slash is technically invalid. However, it's accepted by W3C's HTML validator.
  • XHTML: 必须

结论

看来在 HTML5 中自闭合标签加上 / 是为了向前兼容 XHTML(XML 书写规范) ,可是毕竟 XHTML 的网页现在差不多已经绝迹了。以后再也不加了,省时省力,代码简洁,as lazy as possible,也是一种告别历史的决心吧

本文为流水账,如需了解更多,可以参考以下:

05-02 14:56