html5 - HTML 5:使用<br>, <br/>或者<br />?

  显示原文与译文双语对照的内容

在看到 W3schools HTML 5参考,我试过检视其他答案,不过我还在

我认为 HTML 4.01应该是"允许"single-tags,仅仅是 <img><br> 。 然后XHTML和 <img/><br/> ( ,有人说空间是在那里的旧浏览器 ) 一起出现。

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


<!DOCTYPE HTML>

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

时间:

<br> 足够了。

其他形式是为了与XHTML兼容;为了尽可能地编写与XHTML相同的代码,也可以将它的用作 HTML 。 一些生成HTML的系统可能基于XML生成器,因此不能输出一个裸的<br> 标记;如果你使用了这样的系统,那么使用 <br/> 就没什么必要了。

实际上很少有人使用 XHTML 。 你需要将内容作为 application/xhtml+xml 来服务,以便解释为 XHTML 。这将无法在旧版本的IE 中工作。这也意味着你所做的任何小错误都会妨碍你在支持XHTML的浏览器中显示页面。 所以,大多数看起来像web上的XHTML实际上正在被服务,并被解释为 HTML 。 请参见服务XHTML作为文本/html为一些更多信息考虑有害的

我认为 HTML 5参考草案的引用提供了以下答案:

但是,某些元素不能包含任何内容。 这些被称为void元素。 在HTML中,上面的语法不能用于void元素。 对于此类元素,必须省略结束标记,因为解析器自动关闭元素。 这些元素包括,hr,link和 meta

HTML示例:


<link type="text/css" rel="stylesheet" href="style.css">

在XHTML中,XML语法要求表明,必须使用显式结束标记或者空元素语法显式地声明这一点。 这是通过在开始标记的末尾插入一个斜杠,紧跟在右尖括号之前。

例如:


<link type="text/css" href="style.css"/>

作者可以选择对HTML语法中的void元素使用同样的语法。 有些作者也选择在斜杠前包含空格,但这不是必需的。 ( 使用这种方式使用空白是从 XHTML 1.0中的兼容性指南继承而来的一个惯例,附录C 。)

XML不允许离开标签打开,从而更进一步 <br> 了一点会比另外两个。 于兼容旧browsers,另外两个相关与第二个大致等效旋转"比较理想 实际上,段前间距 / 是首选的兼容性的缘故,但我认为它仅仅是便于理解标记,具有属性。 所以无论你喜欢什么美学,我都会说 <br/> 或者 <br/>

正在有点不太来总结的话,与第一个:这三者都是有效,

编辑: 既然我们都是太喜欢的时候,经常会需要特别指出我认为它出来,它根据 dev.w3.org:

开始标记由以下部分组成,按照以下顺序:

  1. "<"字符。
  2. 元素名称的标记。
  3. 可以选择一个或者多个属性,每个属性前面必须有一个或者多个空格字符。
  4. 可选,一个或者多个空格字符。
  5. 在"/"字符,这可能是只介绍( 可选) 如果元素是一个空元素。
  6. ">"字符。

于 HTML 5相关但结束斜杠是在规范 permitted,根据所需要的窗体是

XML要求所有标记都有相应的结束标记。 所以对于没有内部内容的标记,有一个特殊的shorthand 语法。

HTML5不是 XML,所以它不应该形成这样一个需求。 HTML 4.01都不是。

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

在 html 5 中, 欠电位其实 <br/>permitted. 9.1.2.1,7.

<br><br/> 都可以在HTML5中接受,但是本着HTML的精神,<br> 应该被使用。 HTML5允许关闭斜线,以便更兼容以前的HTML 4.01和 XHTML 1.0,允许更轻松地迁移到 HTML5. 当然,<br/> 也是可以接受的,但是要与一些老的浏览器兼容,在关闭斜杠( / ) 之前应该有一个空格。

  1. 如果要输出HTML在一个普通的网站上你可以使用 <br>或者<br/>,双方都有效的任何时候你是服务于 HTML 5 为 text/HTML 。

  2. 如果你正在使用HTML5作为 XHTML ( 例如 。 内容类型应用程序/xhtml+xml,包含一个XML声明),那么你必须使用像这样的自结束标记: <br/>

    如果你不使用某些浏览器,则会拒绝显示你的网页( Firefox 尤其是非常严格关于渲染的唯一有效xhtml+xml页) 。

    就像前面 1.<br/> 也同样成立。html 5,它恰好是生成为 XML,但正则无 text/html 一个XML声明( 例如从生成网页的XSL转换,或者类似的) 担任。

要清除混乱:在HTML5中放置空格是不需要的,这对页面呈现的方式没有任何影响。

http://validator.w3.org的优秀验证器对检查什么是有效的( 虽然我不确定你是否可以依赖它来检查 Content-Type ) 非常有用。

...