在推廣web標準的今天,那些崇尚web標準的人經常說xhtml比html更加嚴格,當然從某種意義上說是的,比如它要求所有的標籤關閉並且所有的屬性都用引號。但其實xhtml 1.0還分兩種(加上frameset doctype的話算三種,本文不討論),transitional(過渡型)和strict(嚴格)doctypes。並且html 4.01也有同樣的文件宣告。
從字面上就可以看出來意思:transitional doctypes只是為了實現從舊時代到新時代的過渡,而且strict doctypes是預設的文件宣告, 對構造html 4.01和xhtml 1.0都適用。
使用transitional doctype一般是由於**中含有過多陳舊的寫法,並且一下子很難完全轉換到strict doctype來。但是strict doctype才應該是你的目標。它鼓勵甚至有時是強迫你把結構與表現區分開來,把表現層的**都寫在css裡。html 4 document type definition:
本html 4.01 strict dtd不包括表現層屬性和標籤,w3c將逐漸淘汰這些屬性和標籤,您完全可以使用樣式表來實現。您應該使用strict dtd,如需獲得表現層屬性和標籤的支援,請使用transitional dtd。
用strict doctype還有乙個好處,即可以讓瀏覽器使用它們最嚴格、(一定程度上)最符合標準的模式來渲染頁面。
tommy olsson在web standards group的ten questions for tommy olsson一文中很好的闡述了使用strict的好處:
我覺得,使用strict dtd,無論是html 4.01 strict還是xhtml 1.0 strict,遠比討論是用html還是xhtml重要的多。它代表了未來網際網路的質量。它將結構和表現分開,使得維護乙個站點非常容易。
對於剛開始接觸web standards和正確的、語義化的結構的人,認清transitional和strict doctypes的區別非常重要。更多詳細列表請參考:xhtml: differences between strict & transitional、comparison of strict and transitional xhtml和xhtml1.0 element attributes by dtd。
對於準備向strict進發的人來說,兩者的有些區別很可能會使開發者犯錯誤,接下來我將會談到。
在strict doctypes下不支援的標籤
center
font
iframe
srike
u在strict doctypes下不支援的屬性
language
background
bgcolor
border (table支援)
height (img和object支援)
hspace
name (在html 4.01 strict中支援,xhtml 1.0 strict中的form和img不支援)
noshade
nowrap
target
text, link, vlink, 和alink
vspace
width (img, object, table, col, 和 colgroup都支援)
內容模型的區別
元素型別的內容模型描述了什麼樣的元素型別例項可以被包含。這一點上,兩種文件宣告的最大區別在於blockquote, body, 和form元素僅能夠包含塊級元素,如:
文字和影象不允許直接包含在body中,必須被p或者div等塊級元素包含
input元素不能直接是form元素的下一層
blockquote元素內的文字,必須被p或者div等塊級元素包含
將所有的表現都交給css,恪守strict標準
在向strict doctypes過渡的過程中,了解每個元素是做什麼的比知道每個元素長啥樣有效的多。
首先考慮結構和語義,然後再擔心表現。
文件型別定義DTD
xml系列 文件型別定義dtd 一,什麼是dtd?1,xml是一種元標記語言,是描敘語言的語言,定義標記的語法結構,從而生成新標記。而dtd則是為新標記建立文件並進行規範說明。也就是說xml定義標記的語法結構是通過dtd來定義,並指定文件結構的規範,而xml文件來使用標記。2,自描述資料的規範。二,...
DTD 文件型別定義
dtd是xml檔案的驗證機制,屬於xml檔案的組成部分。dtd在xml檔案中所犯扮演的角色就是定義xml檔案的元素結構 元素標記和屬性。一旦定義好dtd,就可以使用xml解析器對編寫好的xml文件進行dtd檢查,以判斷xml文件內容是否為有效的xml文件內容。dtd可以在xml文件中直接寫入,也可以...
DTD文件型別定義
2.屬性定義語法 dtd對元素屬性的約束 3.特殊符號轉義 1.dtd的全稱為 document type definition 文件型別定義,即xml的一種約束 2.xml extensible mark up language 可擴充套件標記語言 3.xml兩種約束方式 dtd和schema 1...