XHTML Transitional VS XHTML Strict

谈到 Web 标准,公认的观点是 XHTML 要比 HTML 更严密,因为 XHTML 结构更严谨。 XHMTL 有两种标准,XHTML Transitional 和 XHTML Strict。正象它们各自的名字所展示的那样,XHTML Transitional 用来对旧代码进行过度,而 XHTML Strict 是缺省标准,新的网页应直接使用该标准,XHTML Strict 鼓励结构层和展示层分离,原先混杂在结构中的展示代码应使用 CSS 进行分离。

HTML 4 的 Document Type 是这样定义的:

HTML4.0 DTD 删除了一些展示属性和元素,这些展示属性和元素随着 CSS 的成熟将被 W3C 排除。网页作者应尽可能使用 Strict DTD,但在需要支持展示属性和元素的场合仍然可以使用 Transitional DTD 。

使用 Strict DOCTYPE 另外的好处是,可以让浏览器使用最严格,最标准的页面渲染模式进行页面输出,这可以显著提高页面渲染效率。Tommy Olsson 在向 Tommy Olsson 提问的10个问题中,总结了 Strict  标准优于Transitional 标准的理由:

在我看来,使用 Strict DTD, 不管是 HTML4.01 Strict 还是 XHTML 1.0 Strict,对未来的 Web 品质来讲都至关重要,Strict DTD 要求结构和展示分离,这样将使网站更易于维护。

对那些将应用 Web 标准,使用合法的,语意的 Web 的人来说,理解 Transitional 和 Strict 之间的区别是非常重要的。Transitional 和 Strict 之间的完整区别列表可参阅 XHTML: Differences between Strict & Transitional, Comparison of Strict and Transitional XHTML, 以及 XHTML1.0 Element Attributes by DTD.

 有一些差别,对于从 Transitional 到 Strict 的转换者来说,可能带来不少问题,下面是常见的几个:

在 Strict DOCTYPE 中被禁止的对象:

  • center
  • font
  • iframe
  • strike
  • u

在 Strict DOCTYPE 中被禁止的属性:

  • align (但对 table 有关的项目仍然允许: col, colgroup, tbody, td, tfoot, th, thead, and tr)
  • language
  • background
  • bgcolor
  • border (allowed on table)
  • height (allowed on img and object)
  • hspace
  • name (在 HTML 4.01 Strict 中允许,但在 XHTML 1.0 Strict 中不可用于 form 和 img)
  • noshade
  • nowrap
  • target
  • text, link, vlink, and alink
  • vspace
  • width (在 img, object, table, col, 和 colgroup 中允许)

内容模型的差别

在内容模型方面,Transitional 和 Strict 之间最大的差别是,blockquote, body, form 对象只可以包含 block 级别的对象,如:text 和 image 不允许直接位于 body 对象下,需要包含在 block 级别的对象,如 p 和 div 中。

迈向 Strict 将展示层交给 CSS

在从 Transitional 到 Strict  的过度中,不妨遵守这样一个技巧,时刻考虑你目前的对象是什么,而不是看上去什么样。先考虑语意,最后再关心外观的事。

本文国际来源

Transitional vs. Strict Markup (by Roger Johansson)

 





评论
...
发表评论


用户


评论(不超过1000字)


 2 + 3 = ? 请将左边的算术题的结果填写到左边的输入框  


  发送给朋友| 打印友好
7 x 12 小时服务热线
0532 - 83669660
微信: comsharp
QQ: 13885509
QQ: 592748664
Skype: comsharp