【问题标题】:Are XHTML tags valid in HTML?XHTML 标签在 HTML 中有效吗?
【发布时间】:2011-10-23 07:25:13
【问题描述】:

我知道 HTML 中的换行符是 <br>,而 XHTML 中的换行符是 <br />

我知道您不能在 XHTML 文档中使用上述 HTML 标记,但反之亦然呢? <br /> 在 HTML 中有效吗?

【问题讨论】:

  • w3schools 是一个糟糕的参考,请避免使用它。请参阅 w3fools.com,了解原因列表以及替代资源。
  • @JMax — W3Schools 的回答是高度误导,它将该页面置于广告覆盖的教程网站中最好的 50% 页面中,因为拥有类似于 W3C 的名称。
  • 我会阅读页面dev.w3.org/html5/markup/syntax.html#void-element ...它很好地描述了 void 元素中允许和不允许的内容(提示:它非常宽松)
  • @Moses & Quentin:谢谢。我会牢记您的建议,以供以后的 cmets 使用:)

标签: html validation xhtml tags


【解决方案1】:

这取决于您所谈论的 HTML 版本。

在最新的稳定版本HTML 4.01中,语法与<br>>相同,与<br>>相同。这意味着它是有效的,因为您可以在任何可以换行的地方使用>(尽管<meta /> 通常无效),但这并不意味着您想要什么。浏览器的限制(被 XHTML 1.0 规范利用)意味着它被视为<br>,即使它不应该是。这个功能的混乱意味着它被标记为to be avoided

HTML 5 changes that 并将/ 变成语法糖。完全没有意义,但允许 XML 迷们开心。

【讨论】:

    【解决方案2】:

    是的,XHTML 与 HTML 兼容。

    我相信 HTML5 中存在一个例外,即处理指令如 <?xml...> 已被弃用。

    【讨论】:

      【解决方案3】:

      <br /> 是有效的 HTML。某些 HTML 页面可能由无法输出 <br> 的 XML 引擎生成,因此它必须能够解析它。

      【讨论】:

      • 您可以使用指向 HTML 规范(可能是 HTML4)的链接来备份它吗?
      • 你指的是四个例子中的哪一个?
      • 要正确解析它,必须在每个换行符后呈现可见的> 字符。不要尝试使用不支持 HTML 的 XML 引擎生成 HTML。
      【解决方案4】:

      <br /> 向后兼容,如果在 HTML 文档中使用不会导致呈现问题。

      另外,请注意,除非您使用 MIME 类型 application/xhtml+xml 提供文档,否则将 <br> 放入 XHTML 文档不会导致它阻塞。在 XHTML 文档中未关闭 BR 是一种验证错误,但这是一个非常轻微的错误,它本身不太可能导致任何问题。

      编辑:哦,是的,在 HTML5 中,结束 / 再次成为官方可选的。

      【讨论】:

        猜你喜欢
        • 2011-01-13
        • 1970-01-01
        • 2011-06-15
        • 2023-03-02
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 2012-07-25
        • 2010-11-07
        相关资源
        最近更新 更多