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

新手上路,请多包涵

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

我认为 HTML 4.01 应该“允许”单标签只是 <img><br> 。然后 XHTML 伴随着 <img /><br />有人说这个空间是为旧浏览器准备的)。

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

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

原文由 ehm 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 409
2 个回答

只需 <br> 就足够了。

其他形式是为了与 XHTML 兼容;使编写与 XHTML 相同的代码成为可能,并且它也可以像 HTML 一样工作。一些生成 HTML 的系统可能是基于 XML 生成器的,因此不能只输出一个简单的 <br> 标签;如果你正在使用这样的系统,那么使用 <br/> 就可以了,如果你不需要这样做就没有必要。

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

原文由 Brian Campbell 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

3.2.2.2 空元素

术语 void 元素 用于指定必须为 的元素。这些要求仅适用于 HTML 语法。在 XHTML 中,所有此类元素都被视为普通元素,但必须标记为空元素。

这些元素完全禁止包含任何内容。在 HTML 中,这些元素只有一个 开始标记。可以使用 自闭合标签 语法。必须省略 结束标记,因为解析器会自动关闭该元素。

HTML 示例:

HTML 语法中的 void 元素。这在 XHTML 语法中是不允许的。

 <hr>

例子:

使用 HTML 和 XHTML 兼容的自闭合标记语法的 void 元素。

 <hr/>

XHTML 范例:

使用带有显式结束标记的 XHTML-only 语法的 void 元素。这对于 HTML 语法中的 void 元素是不允许的。

 <hr></hr>

换句话说:

  • 无效的 HTML 5<IMG></IMG>
  • 有效的 HTML 5<IMG><IMG/>

虽然 HTML 禁止 某些结束标记,但 xhtml 需要 它们:

  • 无效的 xhtml<img>
  • 有效的 xhtml<img></img><img/>

其他 禁止 在 HTML 中使用结束标记的元素:

元素有效的 HTML有效的 xhtml区域<AREA><AREA></AREA>根据<BASE><BASE></BASE>基本字体<BASEFONT><BASEFONT></BASEFONT>BR<BR><BR></BR>COL<COL><COL></COL>框架<FRAME><FRAME></FRAME>人力资源部<HR><HR></HR>IMG<IMG><IMG></IMG>输入<INPUT><INPUT></INPUT>索引<ISINDEX><ISINDEX></ISINDEX>关联<LINK><LINK></LINK>元数据<META><META></META>参数<PARAM><PARAM></PARAM>

HTML 禁止 某些结束标记,而 xhtml 需要 它们的事实是 xhtml 的问题。如果您正在编写 HTML,您将遵循 HTML 规则。

同时,浏览器放弃了强制执行标准的尝试,因为每个人都弄错了。这并不明显:

  • 那个 </BR> 是被 禁止
  • </P>可选
  • </SPAN>必需

然后 xhtml 出现了,它的 XML 规则是 每个 元素都必须有一个结束标记,而人们只是假设 HTML 是一样的东西。于是标准就放弃了,后来又被修改,向现实举手投降。

原文由 Daan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏