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

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

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

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


当前回答

在HTML中的大多数情况下,标记是成对的。但对于换行符,您不需要一对标记。因此,为了表明这一点,HTML使用<br/>格式<br/>是正确的。使用该格式。

<br>标记在HTML中没有结束标记在XHTML中,<br>标记必须正确关闭,如下所示:<br/>

在XML中,每个标记都必须关闭。XHTML是XML的扩展,因此有效的XHTML必须遵循XML的所有规则。因此,即使是空标记(没有子节点的节点)也应该关闭。XML有一种简短的形式,称为空节点的自关闭标记。您可以将<br></br>写成<br/>。因此,在XHTML中使用<br/>。

HTML在这方面非常宽松,没有这样的规则。因此,在HTML中,像<br><hr><meta>等空节点都是不带右正斜杠的。

HTML

<br>
<hr>
<meta name="keywords" content="">
<link rel="canonical" href="http://www.google.com/">

XHTML语言

<br />
<hr />
<meta name="keywords" content="" />
<link rel="canonical" href="http://www.google.com/" />

并非所有标签都可以自动关闭。例如,XHTML DTD不允许使用<script src=“jQuery.min.js”/>这样的标记。

其他回答

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

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

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

简短的旁注:

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

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

<br>是足够的,但根据WHATWG和W3C,XHTML<br/>是首选。

引用HTML 5.2 W3C建议第8.1.2.1节,2017年12月14日

开始标记必须具有以下格式:…在属性之后,或者如果没有属性,则在标记名称之后,可以有一个或多个空格字符。(某些属性后面需要加空格。请参见下面的§8.1.2.3属性。)然后,如果该元素是void元素之一,或者该元素是外来元素,则可能只有一个U+002F SOLIDUS字符(/)。此字符对void元素没有影响,但对外来元素,它将开始标记标记为自动关闭。

如果使用Dreamweaver CS6,则它将自动完成为<br/>。

要在W3C上验证HTML文件,请参阅:http://validator.w3.org/

简单<br>就足够了。

其他形式是为了与XHTML兼容;以使编写与XHTML相同的代码成为可能,并使其作为HTML工作。一些生成HTML的系统可能基于XML生成器,因此无法仅输出一个简单的<br>标记;如果您正在使用这样的系统,可以使用<br/>,如果您不需要这样做,则不必使用。

然而,很少有人真正使用XHTML。您需要将内容作为application/xhtml+xml提供,以便将其解释为xhtml,而这在旧版本的IE中不起作用-这也意味着您犯的任何小错误都将阻止页面在支持xhtml的浏览器中显示。因此,web上看起来像XHTML的大部分内容实际上都是作为HTML提供和解释的。有关更多信息,请参阅将XHTML作为text/html提供。

根据规范,HTML 5的预期格式是<br>,但允许使用右斜杠。

<br>和<br/>呈现不同。一些浏览器将<br/>解释为<br></br>并插入两个换行符