我是否需要在<img>或<br>标签等末尾加上“/”?
你需要在img
标签的末尾加上/
? 我在W3schools.com上看到一个没有/
的例子 :
<img src="smiley.gif" alt="Smiley face" height="42" width="42">
我知道没有必要自我closures标签,至less在我的浏览器,但我应该这样做吗?
/
只是XHTML和XML所必需的。
如果您使用的是HTML5文档types,则不需要以这种方式终止自闭标签 。
这适用于<img src="img.png" />
, <br />
, <hr />
等
即只需使用<img src="img.png">
, <br>
和<hr>
。
如果你需要一个空元素(比如div
), 不要使用<div />
,而应该使用<div></div>
。 这很重要,因为在HTML5中, 斜杠被忽略 , <div />
被解释为<div>
而没有结束标记。
这只是XHTML标准所必需的,正如其他答案中所提到的。 不过,它也有其他用途。
一些代码编辑器(如Notepad ++)允许您展开/折叠标签以加快查看速度。 但是如果你只是放了<img>
,它应该如何知道不需要结束标签的标签和使用相同标签名称(但是在XML中)的标签之间的区别呢? 如果您使用自定义标签,情况尤其如此。
因此,使用/>
显式地告诉编辑它是自闭的,允许它继续正常工作,而不会警告你有一个不匹配的标签。
除了有效性问题之外,仅仅依赖于您正在validation的文档types,只有在您的页面使用XML内容types(如application/xhtml+xml
(这很less使用,因为旧版本的IE扼杀它)。
如果这样做,那么格式error handling就是Draconian:任何错误(例如,没有匹配结束标记的开始标记,当使用<img ... />
语法时可能是开始标记本身)会阻止页面根本不显示,而是显示错误消息。
我认为closuresimg标签会更好。 关于我的头顶我可以想到2个原因:
-
它不会在xhtml下validation,如果你关心这样的事情。
-
任何/任何尝试以编程方式工作的人可能会混淆/运行到有关未closures标记的问题。 谁知道,这可能包括你在未来。 🙂
该代码是可以接受的HTML不使用/
但它是必需的XHTML。 我更喜欢把/
从,以便从HTML迁移到XHTML没有问题