HTML5中的自闭标签(空元素)

ma1*_*w28 30 tags html5 element

8.1.2.1的第6步HTML5规范的开始标记表示void元素可能只有一个/字符.我认为这样做更容易将XHTML的网站迁移到HTML5.

什么是最佳做法?

例如,如果我正在制作一个HTML5(<!DOCTYPE html>)的网站,我该怎么办?

  1. 没有斜线

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    
    Run Code Online (Sandbox Code Playgroud)
  2. 用斜线

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    
    Run Code Online (Sandbox Code Playgroud)

如果两者都在所有浏览器上正确呈现,那么我假设(1)没有斜线是要走的路,因为它更像是HTML5.

Gau*_*rav 21

关于最佳实践没有达成共识,根据规范的作者Ian Hickson,这没关系.

  • http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2006-December/008235.html和http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2006- 12月/ 008312.html并在此主题中查看其他答案. (3认同)
  • 您有 Ian Hickson 表明这一立场的链接吗? (2认同)

Sha*_*kka 16

主要取决于您是否想要使用XML路由.两者都应该正确呈现,因为HTML5规范不需要自动关闭标记 - 它们唯一的原因是文档是有效的XML.

更简单的方法是在没有自动关闭"/"的情况下编写然后,除非特别需要将标记解析为XML - 在这种情况下您还需要

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
Run Code Online (Sandbox Code Playgroud)


小智 15

使用斜杠关闭标记是一种更明确的方式,表示它不具有结束标记.


Luk*_*uke 12

谷歌在其风格指南中建议:不要关闭虚空元素.

HTML5(HTML语法)是所有HTML文档的首选...尽管HTML很好,但不要关闭void元素

就个人而言,我已习惯用斜杠关闭标签,并发现这/>有助于我认识到标签没有结束标签.

  • 关于你的最后一句 - 它不会有一个结束标记,因为它是一个空元素.斜线让像我这样的html新手感到困惑,因为它的存在表明斜线关闭了元素. (3认同)
  • 我认为结束标记可以帮助识别空元素(请参阅@nbsp的答案).一开始可能会让新手感到困惑,但这是一个重要的语法,因为如果/当你必须使用XML或XHTML,你有可能最终看到它. (3认同)

eny*_*nyo 5

这篇文章解释了两个版本的区别:http : //www.colorglare.com/2014/02/03/to-close-or-not-to-close.html

两个版本完全相同。

实际上,有人可能会争辩说,将 "/` 添加到 void 标签是一种被忽略的语法错误。