为什么自闭标签在html文档中有效?

时间:2011-06-14 10:39:13

标签: html xhtml

我有一个HTML文档:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" >

在其中我有

等标签
<br />

但我读到这个标签是一个XHTML元素。但它仍然有效吗?

4 个答案:

答案 0 :(得分:5)

基于在移动角色之前所写的问题的原始答案并完全改变它:

  

但我读到</br>是一个XHTML元素。

不是。是元素的结束标记

<br />将是XHTML中的自闭标签(表示整个元素)。在HTML 4中,它与<br>&gt;相同(尽管大多数浏览器都不尊重它),而在HTML 5中,/是无意义的语法糖,可以让人们习惯于XHTML。

在XHTML中<br/>表示与<br></br>相同(后者是HTML文档中的错误)。

  

但它仍然有效吗?

浏览器执行大量的错误纠正,试图处理90年代后期普遍存在的那种糟糕的标记。

他们从不同的错误中恢复的方式并不总是一致的(例如,我相信某些浏览器会完全忽略它,而其他浏览器会将其视为换行符),所以你永远不应该依赖这种行为。

答案 1 :(得分:1)

浏览器无法实现正确处理HTML 4及更早版本的解析器。

他们应该将<br/>视为“一个br元素,后跟一个大于号”,而是将其实现为“具有/属性的br元素,什么是/属性?我们会放弃它“。这导致该功能被标记为something to avoid

然后,XHTML利用HTML-Compatible XHTML的错误。

HTML 5然后将其重新定义为语法糖,以便XHTML迷们可以继续使用他们习惯的语法。

答案 2 :(得分:0)

这是摆脱这些差异的浏览器。无论如何,带有斜杠的</br>在HTML和XHTML中都是不正确的。

发生在http://www.w3schools.com/tags/tag_br.asp

 In HTML the <br> tag has no end tag.

 In XHTML the <br> tag must be properly
 closed, like this: <br />.

答案 3 :(得分:-1)

自闭标签是XML格式的有效格式

XHTML表示必须关闭所有标记

HTML
<br> valid
<br/> valid
XHTML
<br> invalid
<br/> valid

编辑:

</br> is invalid anyway and you are lucky if browser fix it :)    
</br> is the same as <div id="gd"/>, both are invalid