在預設情況下,FF和IE的解釋標準是不一樣的,也就是說,如果一個網頁沒有聲明DOCTYPE,它就會以預設的DOCTYPE解釋下面的HTML。在同一種標準下,不同瀏覽器的解釋模型都有所差異,
在默認情況下,FF和IE的解釋標準是不一樣的,也就是說,如果一個網頁沒有聲明DOCTYPE,它就會以預設的DOCTYPE解釋下面的HTML。在同 一種標準下,不同瀏覽器的解釋模型都有所差異,如果聲明標準不同,不用我說,您自己想就可以了。學習網頁標準,瀏覽器相容,從哪裡開始您自己決定,但是, 請認識DOCTYPE:
一、什麼是DOCTYPE
DOCTYPE是Document Type(文檔類型)的簡寫,在頁面中,用來指定頁面所使用的XHTML(或HTML)的版本。要製作符合標準的頁面,一個必不可少的關鍵組成部分就 是DOCTYPE聲明。只有確定了一個正確的DOCTYPE,XHTML裡的標識和CSS才能正常生效。
二、DOCTYPE的規則
DOCTYPE聲明的寫法遵循一定的規則,它指出閱讀程序應該用什麼規則集來解釋文檔中的標記。在Web文件的情況下,「閱讀程序」通常是瀏覽器或校驗器這樣的程序,「規則」則是w3c所發布的一個文檔類型定義(dtd)中包含的規則。
每個dtd都包括標記、attributes、properties等內容,它們用於標記web文檔的內容;此外還包括一些規則,它們規定了哪些 標記能出現在其他哪些標記中。每個web建議標準(例如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。
以下是從手冊上摘抄的規則:
語法:
HTML 頂級元素 可用性"註冊//組織//類型標籤//定義 語言""URL"
可能值:
- 頂級元素:指定DTD 中聲明的頂級元素類型。這與聲明的 SGML 文件類型相對應。 HTML 預設。 HTML。
- 可用性:指定正式公開識別碼(FPI)是可公開存取的物件還是系統資源。 PUBLIC 預設。可公開存取的對象。 SYSTEM 系統資源,如本機檔案或 URL。
- 註冊:指定組織是否由國際標準化組織(ISO)註冊。 + 預設。組織名稱已註冊。
- 組織名稱未註冊。 Internet 工程任務組(IETF)和萬維網協會(W3C)並非註冊的 ISO 組織。
組織:指定表明負責由 !DOCTYPE 聲明引用的 DTD 的創建和維護的團體或組織的名稱,即 OwnderID。 IETF IETF。 W3C W3C。
- 類型:指定公開文本類,即所引用的物件類型。 DTD 預設。 DTD。
- 標籤:指定公開文字描述,即對所引用的公開文本的唯一描述性名稱。後面可附版本號。 HTML 預設。 HTML。
- 定義:指定文檔類型定義。
Frameset 框架集文件。
Strict 排除所有 W3C 專家希望逐步淘汰的代表性屬性和元素,因為樣式表已經很完善了。
Transitional 包含除 frameSet 元素的全部內容。
- 語言:指定公開文字語言,即用於建立所引用物件的自然語言編碼系統。此語言定義已編寫為 ISO 639 語言代碼(大寫兩個字母)。 EN 預設。英語。
- URL:指定所引用物件的位置
為了獲得正確的DOCTYPE聲明,關鍵就是讓dtd與文件所遵循的標準對應。例如,假定文檔遵循的是xhtml 1.0 strict標準,文檔的doctype聲明就應該引用對應的dtd。另一方面,如果doctype宣告指定的是xhtml dtd,但文件包含的是舊式風格的html標記,就是不恰當的;類似地,如果doctype宣告指定的是html dtd,但文件包含的是xhtml 1.0 strict標記,同樣是不恰當的。
三、選擇什麼樣的DOCTYPE
如上例所示,XHTML 1.0中有3種DTD(文檔類型定義)聲明可以選擇:過渡的(Transitional)、嚴格的(Strict)和框架的(Frameset )。這裡分別介紹如下。
1.過渡的
一種要求不很嚴格的DTD,允許在頁面中使用HTML4.01的識別(符合xhtml語法標準)。過渡的DTD的寫法如下:
複製代碼 代碼如下:
w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
複製代碼 代碼如下:
w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3.框架的
一種專門針對框架頁面所使用的DTD,當頁面中含有框架元素時,就要採用這種DTD。框架的DTD的寫法如下:
複製代碼 代碼如下:
w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">