【问题标题】:Is HTML5 backwards compatible with XHTML?HTML5 是否向后兼容 XHTML?
【发布时间】:2011-08-27 01:18:06
【问题描述】:

简短问题:我可以将现有 XHTML 1.0 网站的 DOCTYPE 更改为 HTML5 吗?这会导致任何问题吗?

长篇大论:

我们有一个用 ASP.NET 网络表单编写的网站。由于它已经很老了,默认的 DOCTYPE 设置为 XHTML(Visual Studio 的默认值)并且所有控件也呈现 XHTML。不是非常有效,但到目前为止,我们在任何浏览器下都没有遇到任何问题。

也就是说,直到最近我们才注意到 IE 在不同机器上的一些奇怪行为。事实证明,IE 默认情况下会以“兼容模式”呈现 Intranet 网站,这会造成问题。

现在,我有两个选择。我可以添加:

<meta http-equiv="X-UA-Compatible" content="IE=edge" >

或者我可以添加

<!DOCTYPE html>

我更喜欢 DOCTYPE 路线,因为它会为许多简洁的 HTML5 功能打开大门。但是我想知道它是否不会与我们现有的 XHTML 布局存在不兼容问题。

【问题讨论】:

    标签: html xhtml compatibility


    【解决方案1】:

    HTML5 旨在向后兼容 HTML 4.01 和 XHTML 1.0/1.1,因此可以更轻松地将以前的 (X)HTML 页面迁移到 HTML5。当然,它们不会利用新的 HTML5 功能(例如新标签),但它们在技术上仍然是有效的 HTML5。

    【讨论】:

      【解决方案2】:

      首先,IE 确实默认以兼容模式呈现 Intranet 站点。但是,这是一个配置设置,可以关闭:如果可能的话,我建议您的第一个解决方案是简单地关闭网络上所有机器上的此设置。 (这是否是一个可行的解决方案将取决于您的网络规模、您的组策略以及哪些其他 Intranet 站点会受到影响)

      现在回答你的问题。

      可以在您希望以标准模式呈现的任何网站上指定 HTML5 文档类型。如果您已经在使用 XHTML,那么对您的唯一影响就是浏览器将不再严格执行严格的 XHTML 合规性。您完全有权继续使用 XHTML 代码,但不会强制执行。

      HTML5 文档类型是专门选择的,因为它适用于现有浏览器,包括旧版本的 IE。您应该能够将它放到任何页面上,并且应该可以正常工作。

      它不会对 IE 进入兼容模式产生任何影响。任何其他文档类型也不会。您提到的X-UA-Compatible 解决方案是解决此问题的方法(除非您可以设置我前面提到的配置设置),并且与文档类型无关 - 即使您使用 HTML5 文档类型,您仍然需要它。

      【讨论】:

      • 由于我们将应用分发给许多客户,其中许多客户也在他们的内网中运行其他应用,如果我们因为我们的应用而要求更改他们的组策略,那将是愚蠢的。但感谢您确认 HTML5 doctype 是 The Way To Go。 :)
      • “对您的唯一影响是浏览器将不再严格执行严格的 XHTML 合规性”——这是不正确的。浏览器从未强制执行严格的 XHTML 合规性。
      • 啊!应该更仔细地阅读。最后一段是踢脚线。 ;) 刚刚发现了艰难的道路。好的,所以我实现了它们。 :P 不会受伤。
      【解决方案3】:

      据我所知,HTML5 几乎是 xhtml 加上附加功能,所以是的,我认为您可以更改文档类型,它仍然可以工作。他们在这里回答:If I use HTML 5's doctype, what will happen?

      【讨论】:

      • 它实际上不是 XHTML,它对 XML 的严格程度要低得多。
      • @Renesis - 只要 XHTML 是 HTML5 的子集,它就对我有用。 :)
      • XHTML 不是 HTML5 的子集。在 XHTML 中有些东西是合法的,比如
        ,在 HTML5 中的解析方式不同。
      猜你喜欢
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2021-07-22
      • 2020-01-16
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多