我尝试过检查其他答案,但我仍然感到困惑——尤其是在看到W3schools HTML5参考之后。

我认为HTML4.01应该“允许”单个标记仅为<img>和<br>。然后XHTML与<img/>和<br/>一起出现(有人说旧版浏览器的空间很大)。

现在我想知道在练习HTML5时应该如何格式化代码。

是<br>、<br/>还是<br/>?


当前回答

没有结束标记的元素称为空标记。在html 4和html 5中,结束标记不是必需的,可以省略。

在xhtml中,标记是如此严格。这意味着必须以开始标记开始,以结束标记结束。

其他回答

XML不允许打开标记,因此它比其他两个标记更糟糕。另外两个与第二个(<br/>)大致相当,以兼容较旧的浏览器。实际上,出于兼容性的考虑,/之前的空格是首选的,但我认为这只适用于具有属性的标记。所以我会说<br/>或<br/>,无论你的审美如何。

综上所述:这三个都是有效的,第一个(<br>)不那么“便携”。

编辑:现在我们都对规格着迷,我认为值得指出的是,根据dev.w3.org:

开始标记包括以下内容零件,完全按照以下顺序:“<”字符。元素的标记名。(可选)一个或多个属性,每个属性必须前面有一个或多个空格字符。(可选)一个或多个空格字符。(可选)“/”字符,仅当元素是空元素。“>”字符。

如果您在常规网站上输出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>并且<br/>在某些浏览器中呈现方式不同,因此选择其中一种不会损害您的项目,但确实需要大量查找。。替换以影响某些浏览器中的页面呈现,这可能会给您自己带来额外的工作,如果更改对测试浏览器没有影响,甚至会使您感到尴尬,但在客户端的首选浏览器中破坏它。

我更喜欢<br>,因为它是我从Erwise和Netscape Navigator(早期的web浏览器)开始使用的,但没有理由不选择<br>。它可能对某些预处理、可比性等有用。

即使你的选择归结为更喜欢一个而不是另一个,或者你(或者你最喜欢的HTML编辑器,例如Dreamweaver)可能希望你的代码符合xml。这取决于你。

简短的旁注:

不要与br混淆,但除此之外,您还可以考虑在HTML中使用wbr标记:一个分词机会标记,它指定在文本中的何处添加换行符。

进一步阅读,请阅读HTML5规范。

在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>的Reactjs中也可以使用此标记符号