HTML 5:是<br>,<br/>还是<br />?

我尝试检查其他答案,但仍然感到困惑-特别是在看到W3schools HTML 5参考之后

我认为HTML 4.01应该“允许”单个标记为<img>and <br>然后XHTML与<img />and 一起出现了<br />有人说那里是旧浏览器的空间)。

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

是不是<br><br/>还是<br />

蛋蛋TomItachi2020/03/13 17:37:15

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

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

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

HTML在这方面非常宽容,并且没有这样的规则。因此,在HTML中,诸如<br> <hr> <meta>etc之类的空节点被写成没有正斜杠。

的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/" />

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

L猴子2020/03/13 17:37:15

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

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

LEY神无2020/03/13 17:37:15

HTML5中,不再需要使用斜杠: <br><hr>

米亚宝儿2020/03/13 17:37:15

<br><br />在某些浏览器中呈现不同的内容,因此选择其他任何一种都不会损害您的项目,但是确实希望大量查找..replace会影响某些浏览器中的页面呈现,这可能会为您自己甚至是额外的工作尴尬的是,所做的更改不会影响您的测试浏览器,但会在客户的首选浏览器中破坏它。

我更喜欢,<br>因为这是自Erwise和Netscape Navigator(早期的Web浏览器)以来我一直使用的方式,但是没有理由不选择<br />对于某些预处理,可比性等可能有用。

即使您的选择归结为倾向于一种外观,或者您(或您最喜欢的HTML编辑器,例如Dreamweaver)也可能希望您的代码符合xml。由你决定。

快速附注:

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

若要进一步阅读,请阅读HTML5规范

Gil村村2020/03/13 17:37:14

<br>效果很好。像XHTML这样的更严格的版本要求您添加结束符,而真正的HTML旧版本则不包含DOCTYPEmake <br>non-void标签,例如<br></br>

总结:<br>很好。其他的也很好。

乐逆天2020/03/13 17:37:14

在HTML <br>和XHTML中<br/>

我建议您使用<br/>

JimEva神奇2020/03/13 17:37:14

正如许多人都覆盖,无论是<br><br/>是可以接受的。

我猜想,权衡是<br/>与相比,向终端用户少发送一个字符会带来更好的可读性和向后兼容性<br>

由于Google会使用,<br>因此我也会这样做。

(当然请记住,他们可能正在为我服务,<br>因为我使用的是他们知道支持的Chrome。在IE中,他们可能仍在服务<br/>

SamYoc2020/03/13 17:37:14

好吧,我所知道的是,这<br />会用白线<br>中断,在某些情况下只会中断。当我设置IPN脚本(PHP)并发送邮件并检查收件箱时,这发生在我身上。不知道为什么,但我只得到了消息,看起来同时使用<br /> and <br>

在这里查看邮件:http : //snag.gy/cLxUa.jpg

文本的前两部分用分隔<br />,因此,空白行,底部的最后三行文本和最后的部分用分隔,<br>并给出新行。

猴子Davaid2020/03/13 17:37:14

恕我直言,出于以下原因,最好使用常规符号(<br />)而不是宽恕符号(<br>):

一致性

在您的HTML中,可能有些SVG和SVG仅支持常规表示法(例如<rect />)。

可破解性

ReactNativeScript这样的框架不是使用XML表示法的情况。
您的标记代码将更易于解析。

明晰

即使在深夜,常规符号也更易于阅读和理解。

技术指标

这两个<br><br />有效的HTML标签。

结论

如果您使用成熟的文本编辑器,则将其配置为使用常规表示法(Emmet称为XHTML )。
例如,在Visual Studio Code中,您只需将以下行添加到设置中:

"emmet.syntaxProfiles": {"html": "xhtml"}
达蒙乐2020/03/13 17:37:14

<br>是足够的,但是在XHTML <br />优选根据WHATWG根据W3C

引用第8.1.2.1HTML 5.2 W3C推荐标准,2017年14月

开始标记必须具有以下格式:

  1. 在属性之后,或者在标记名之后(如果没有属性),可能存在一个或多个空格字符。(某些属性必须后面跟一个空格。请参见下面的第8.1.2.3节。)

  2. 然后,如果该元素是void元素之一,或者如果该元素是外来元素,则可能存在单个U + 002F SOLIDUS字符(/)。此字符对void元素没有影响,但对异物则将start标签标记为自动关闭。

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

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

樱神奇2020/03/13 17:37:14

在验证中,这个问题实际上取决于!DOCTYPE您要通过的验证。

我个人最喜欢的是4.01 Trans我只使用的地方<br/>,它清除了验证期间可能弹出的警告和错误。

严格是一个更加复杂的野兽,它讨厌"SHORTTAGS"并且实际上只想要<br></br>

HTML5代码世界的“ LAX”中,确实没有正确的答案,因为它detects every example you put up在那里是正确的……

最后,我认为所有问题is what validation YOU PREFERthe person that you are working for prefers...随着lackadaisical代码严格性的变化,html5我们看到了一些非常懒惰的编码器

Davaid番长十三2020/03/13 17:37:14

两者<br><br/>都可以正常工作,但我更喜欢,<br/>因为它稍微合逻辑。逻辑上是每当有一个开始标签时就期望有一个结束标签。因此,如果在没有结束标记的情况下不使用开始标记,则代码将更易于阅读。

所有浏览器(可能没关系的一些非常旧的浏览器除外)将显示完全相同的内容。但是,<br>不符合xHTML。

Admin2020/03/13 17:37:14

如果您对可比性(不是兼容性,而是可比性)感兴趣,那么我会坚持使用<br />

否则<br>很好。

阳光达蒙达蒙2020/03/13 17:37:14

XML要求所有标签都具有相应的结束标签。因此,对于没有内部内容的标记,有一种特殊的速记语法。

HTML5不是XML,因此不应提出这样的要求。HTML 4.01也不是。

例如,在HTML5规范中,所有带有br标记的示例都使用<br>语法,而不是<br/>

UPD实际上<br/>HTML5中允许的9.1.2.1,7。

MandyL2020/03/13 17:37:14

<br>并以<br/>不同的方式呈现。一些浏览器解释<br/><br></br>并插入两个换行符

逆天路易2020/03/13 17:37:14

HTML5中可以接受<br>两者<br />,但<br>本着HTML的精神HTML5允许使用斜杠,以便与以前的HTML 4.01和XHTML 1.0的文档更加兼容,从而更容易迁移到HTML5。当然,<br/>这也是可以接受的,但是为了与某些较旧的浏览器兼容,请在斜杠(/前留一个空格

猿路易2020/03/13 17:37:14

HTML中(最多HTML 4):使用<br>

HTML 5<br>是优选的,但<br/><br />也是可以接受

XHTML中<br />是首选。也可以使用<br/><br></br>

笔记:

  • <br></br> 在HTML 5中无效,它将被视为两个换行符。
  • XHTML区分大小写,HTML不区分大小写。
  • 为了向后兼容,某些旧的浏览器会将XHTML解析为HTML并失败,<br/>但不会<br />

参考:

Stafan西门2020/03/13 17:37:14

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

村村路易2020/03/13 17:37:14

我认为HTML 5参考草案中的这句话提供了答案:

3.2.2.2空隙元素

The term void elements is used to designate elements that must be empty. These requirements only apply to the HTML syntax. In XHTML, all such elements are treated as normal elements, but must be marked up as empty elements.

These elements are forbidden from containing any content at all. In HTML, these elements have a start tag only. The self-closing tag syntax may be used. The end tag must be omitted because the element is automatically closed by the parser.

HTML Example:
A void element in the HTML syntax. This is not permitted in the XHTML syntax.

<hr>

Example:
A void element using the HTML- and XHTML-compatible self-closing tag syntax.

<hr/>

XHTML Example:
A void element using the XHTML-only syntax with an explicit end tag. This is not permitted for void elements in the HTML syntax.

<hr></hr>
ProTony2020/03/13 17:37:14

<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>更旧的浏览器和工具可能有问题。

猴子神乐2020/03/13 17:37:14

简单地<br>就足够了。

还有其他形式是为了与XHTML兼容。使编写与XHTML相同的代码成为可能,并使它也可以用作HTML。某些生成HTML的系统可能基于XML生成器,因此不能仅输出裸<br>标签。如果您使用的是这样的系统,则可以使用<br/>,如果不需要,就没有必要。

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