我尝试过检查其他答案,但我仍然感到困惑——尤其是在看到W3schools HTML5参考之后。
我认为HTML4.01应该“允许”单个标记仅为<img>和<br>。然后XHTML与<img/>和<br/>一起出现(有人说旧版浏览器的空间很大)。
现在我想知道在练习HTML5时应该如何格式化代码。
是<br>、<br/>还是<br/>?
我尝试过检查其他答案,但我仍然感到困惑——尤其是在看到W3schools HTML5参考之后。
我认为HTML4.01应该“允许”单个标记仅为<img>和<br>。然后XHTML与<img/>和<br/>一起出现(有人说旧版浏览器的空间很大)。
现在我想知道在练习HTML5时应该如何格式化代码。
是<br>、<br/>还是<br/>?
当前回答
没有结束标记的元素称为空标记。在html 4和html 5中,结束标记不是必需的,可以省略。
在xhtml中,标记是如此严格。这意味着必须以开始标记开始,以结束标记结束。
其他回答
XML要求所有标记都具有相应的结束标记。因此,对于没有内部内容的标记,有一种特殊的简短语法。
HTML5不是XML,因此不应该提出这样的要求。HTML 4.01也不是。
例如,在HTML5规范中,所有带有br标记的示例都使用<br>语法,而不是<br/>。
UPD实际上,<br/>在HTML5中是允许的。9.1.2.1, 7.
如果您在常规网站上输出HTML,则可以使用<br>或<br/>,这两种方法在您以text/HTML形式提供HTML5时都有效。如果您将HTML5作为XHTML提供(即内容类型application/XHTML+xml,带有xml声明),则必须使用一个自关闭标记,如:<br/>。如果你不这样做,一些浏览器可能会断然拒绝呈现你的页面(特别是Firefox对于只呈现有效的xhtml+xml页面非常严格)。如1所述<br/>对于HTML5也是有效的,HTML5恰好生成为XML,但作为没有XML声明的常规文本/html(例如从生成网页的XSL转换或类似的内容)。
为了消除混淆:在HTML5中不需要在斜杠前加空格,这对页面的呈现方式没有任何影响(如果有人能举出一个例子,我会收回这一点,但我不相信这是真的-但IE确实对所有形式的<br>标记做了很多其他奇怪的事情)。
优秀的验证器http://validator.w3.org对于检查有效内容非常有用(尽管我不确定您是否可以依靠它来检查内容类型)。
出于以下原因,我建议使用<br/>:
1) 以不同颜色突出显示XML语法的文本和XML编辑器将使用<br/>正确突出显示,但如果使用<br/
2) <br/>与XHTML向后兼容,格式良好的HTML(即XHTML)通常更容易验证错误和调试
3) 一些旧的解析器和一些编码规范要求在结束斜杠之前有空格(即:<br/>而不是<br/>),例如WordPress插件编码规范:http://make.wordpress.org/core/handbook/coding-standards/html/
根据我的经验,我从未遇到过使用<br/>有问题的情况,但是,在许多情况下,<br/>或特别是<br/>在旧浏览器和工具中可能有问题。
在HTML(最多HTML 4)中:使用<br>
在HTML 5中:<br>是首选,但<br/>和<br/>也是可以接受的
在XHTML中:<br/>是首选。也可以使用<br/>或<br></br>
笔记:
<br></br>在HTML 5中无效,它将被视为两个换行符。XHTML区分大小写,HTML不区分大小写。为了向后兼容,一些旧浏览器会将XHTML解析为HTML,并在<br/>时失败,但不会<br/>
参考:
http://www.w3schools.com/tags/tag_br.asphttp://en.wikipedia.org/wiki/XHTML
如果你对可比性(不是兼容性,而是可比性)感兴趣,那么我会坚持<br/>。
否则,<br>没问题。