是否应该闭合html5文档中的空标签?

html-css023

是否应该闭合html5文档中的空标签?,第1张

html5中的空标签要闭合的,原因如下:

XHTML的设计者认为,应当让HTML页面严格符合XML,使得HTML真正成为XML的一个子集,从而提倡了和XML一致的自闭合标签。

不得不说XHTML在促进程序员规范语义上,起到了巨大的历史作用。

但在结果上,实际写出的XHTML页面没有几个真的送进XML解析器不报错的。

所以到了现在HTML5时代,对XML的执着终究被废弃了,XHTML当初的设计目标被Web标准的设计者自己挖个坑给埋了。

现在的原则是:只要标签没有二义性,就不要求闭合,对于标准中所说的void elements就可以忽略。

非自闭合标签必须有开始标签和结束标签,而自闭合标签没有闭合标签。

在w3c不同的规范中,对标签的闭合检查也是不一样的。

XHTML最为严格,必须在自闭合标签中添加"/"。在HTML4.01中,不推荐在自闭合标签中添加“/”。而HTML5最宽松,填不添加都符合规范。

HTML中所有的自闭合标签如下:area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr

如:

错误的语法:

<a href="xxx" title="demo" />

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

HTML5标准允许不闭合标签:

<div>

<p>This is a text

<div>

<p>This is another text

那些自闭合的标签在HTML5之前就可以不闭合了,但是之前w3c会发警告:

<br>

<hr>

<input type="text">

<img src="pic.png">

之前听说HTML5标准推荐不闭合,但是我现在写起来不闭合心里还是不爽,自闭合标签后我都要加上斜线才舒服。