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字)


 7 x 5 = ? 請將左邊的算術題的結果填寫到左邊的輸入框  


  發送給朋友| 打印友好
7 x 12 小時服務熱線
0532 - 83669660
微信: comsharp
QQ: 13885509
QQ: 592748664
Skype: comsharp