電話

    0411-39943997

仟億科技
客服中心
  • 電話
  • 電話咨詢:0411-39943997
  • 手機
  • 手機咨詢:15840979770
    手機咨詢:13889672791
網絡營銷 >更多
您現在的位置:首頁 > 新聞中心 > 常見問題

網頁Document Type相關問題解析

作者:billionnet 發布于:2012/4/10 17:50:34 點擊量:

最近發現不少同學提出有關HTML+CSS的排版問題,以及IE與FF環境下的兼容問題。什么狀況的都有,總結起來就是一個——顯示很奇怪,很難調整。為什么呢?

我瀏覽的絕大多數網站,源碼的頂部都會有DOCTYPE聲明,但是很多人沒有注意它,甚至在創作時候直接將它刪掉,其實這往往就是噩夢的開始。在遵循標準的任何WEB文檔中,DOCTYPE都是一項必需的元素。它會影響代碼驗證,并決定了瀏覽器最終如何顯示你的WEB文檔。為了避免DOCTYPE的問題重復出現,我根據手頭的資料整理了這篇文檔,以備自己及有興趣的同學參考。

在默認情況下,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。W3C。

類型:指定公開文本類,即所引用的對象類型。DTD默認。DTD。

標簽:指定公開文本描述,即對所引用的公開文本的唯一描述性名稱。后面可附帶版本號。HTML默認。HTML。

定義:指定文檔類型定義。分3種情況定義——

1)Frameset框架集文檔。

2)Strict排除所有W3C專家希望逐步淘汰的代表性屬性和元素,因為樣式表已經很完善了。

3)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(ZBLOG的主題模板大多采用這種類型定義),允許在頁面中使用HTML4.01的標識(符合XHTML語法標準)。過渡的DTD的寫法如下:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2)嚴格的

一種要求嚴格的DTD,不允許使用任何表現層的標識和屬性,例如
等。嚴格的DTD的寫法如下:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

3)框架的

一種專門針對框架頁面的DTD,當頁面中含有框架元素時,就要采用它。框架的DTD的寫法如下:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

使用嚴格的DTD來制作頁面,當然是最理想的方式。但是,對于沒有深入了解Web標準的網頁設計者,比較合適的是使用過渡的DTD。因為這種DTD還允許使用表現層的標識、元素和屬性,適合大多數網頁制作人員。

四、需要注意的問題

沒什么特別的,就是一定要將DOCTYPE聲明放在XHTML文檔的頂部,上面哪怕多個HTML注釋標記都不行。最好示例代碼也加上DOCTYPE,否則效果會有差異。



分享到:


Copyright@ 2011-2016 版權所有:大連千億科技有限公司 遼ICP備11013762-3號   google網站地圖   百度網站地圖   網站地圖

公司地址:大連市沙河口區中山路692號辰熙星海國際2317 客服電話:0411-39943997 QQ:2088827823 37482752

法律聲明:未經許可,任何模仿本站模板、轉載本站內容等行為者,本站保留追究其法律責任的權利! 隱私權政策聲明

www精品一区二区三区四区