XHTML 1.1 还是 HTML 4.01?

Avatar of Chris Coyier
Chris Coyier 发布

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费积分!

注意:本文非常旧。当我于 2013 年年中撰写此警告时,只应使用一种 DOCTYPE,即 HTML5 的 <!DOCTYPE html>

Aaron Bazinet 最初在论坛中 发布了此问题

我首先要说明的是,我不是这方面的专家,但我确实觉得它很有趣。我们设计的每个页面的第一行都以 DOCTYPE 开头,我感觉我们大多数人并没有真正掌握它的全部含义。

你们中懂代码的人可能会立即注意到 CSS-Tricks 使用的是XHTML 1.0 Transitional。是的,这可能不太好,原因我们稍后会提到。说实话,当我第一次编写 CSS-Tricks 的代码时,我的理解比现在少得多,我可能会很快更改它。

我认为最好的起点是 2000 年,当时 XHTML 1.0 成为 W3C 的官方推荐。它确实是作为 HTML 的继任者而设计的。所以现在 8 年多过去了。我们现在使用 XHTML 1.1(1.2 仍在开发中,2.0 还有很长的路要走)。我们仍在讨论是否应该使用它

在 2002 年,就已经有人讨论 XHTML 如何带来 更美好的生活。然后在 2003 年,Jeffrey Zeldman 的《使用 Web 标准设计》第一版发布(现在是 2006 年的第二版)。我们中的许多人可能都拥有并阅读过这本书。说实话,现在读起来感觉有点过时了,因为示例看起来太基础了,设计看起来也很老派。但是,它可能仍然被认为是最接近“Web 标准圣经”的东西。这本书绝对充满了对 XHTML 的热爱。

所以我们这些 Zeldman、A List Apart、Happy Cog 以及整个团队的粉丝,我们喝了 Kool-Aid 并开始使用 XHTML。这是好是坏?我真的不知道。

以下是一些需要考虑的要点

  • XHTML 更像 XML。这意味着您的代码必须编写得更简洁。不允许使用大写字母(在标签中)。每个标签都必须关闭。简洁的代码是好的,对吧?我认为是的。但是,不关闭标签可能会带来比 HTML 中更严重的后果,这不好,对吧?

    由于 XHTML 更像 XML,因此它具有更好的扩展性。以下是文章 XHTML – 神话与现实 中的内容

    …这将使作者能够表达比当今 HTML 可能的更丰富的结构和语义。实际上,XHTML 继承了支持多种语言的可能性,而不是以单一的方式扩展 HTML,XHTML 可以通过模块进行扩展,其中每个模块定义语言的特定子集。

    从理论上讲,这意味着可以在无需浏览器升级的情况下扩展语言。

    听起来很酷!但是……我们中有多少人会使用这种功能?0.01%?

  • XHTML 并不总是被解释为 XHTML。我还没有完全理解这一点,但显然,大量浏览器根本没有利用 XHTML 可以实现的这些花哨的功能。IE 8 将是第一个支持所有这些功能的 Internet Explorer 版本。这并不意味着您的网站会崩溃,只是意味着代码将被解释为常规的 HTML。据我了解,普遍共识是,对于最广泛的支持,HTML 4.01 是最佳选择。
  • 关于 CSS 的一些次要注意事项。由于这是,你知道的,从技术上讲是一个关于 CSS 的网站,因此值得一提的是,关于 CSS 和这些不同的 DOCTYPE,需要牢记的一件事。在 HTML 中,某些标签会自动应用于文档,例如 <table> 内部的 <tbody>。因此,在 CSS 中,您可以声明类似“tbody td”的内容,并确信该规则将生效,即使您在代码中省略了 tbody。在 XHTML 中并非如此。

可以肯定的是,没有明确的答案。如果我必须立即做出决定,我会说 HTML 4.01 对于大多数普通的网页设计师/网站来说更有意义。我还应该说,我已经盲目地使用 XHTML 1.0 Transitional 设计了大量的网站,它们都正常工作,我仍然活着。

所以不要对我太苛刻,但如果您了解更多信息,请随时启发我和我们其他人。

SitePoint 论坛中的绝佳参考 在此

哦,对了,我们不是 讨论过 HTML 5 与 XHML 2 吗?哈哈。