- 相關(guān)推薦
Web標準:關(guān)于什么是DOCTYPE
DOCTYPE不可怕,但把它拿走,會(huì )讓你怕了又怕。
最近在藍色理想轉悠,發(fā)現很多朋友提出有關(guān)DIV CSS排版問(wèn)題,以及IE與FF的兼容問(wèn)題。怎么問(wèn)的都有,結果就是一個(gè)——顯示很奇怪,很難調整。我們?yōu)g覽的大多數網(wǎng)站,或者用Dreamweaver創(chuàng )建一個(gè)新的網(wǎng)頁(yè)文檔時(shí),源碼的頂部都會(huì )有DocType聲明,但是很多人沒(méi)有注意它,甚至在創(chuàng )作時(shí)候直接將它刪掉,其實(shí)這往往就是噩夢(mèng)的開(kāi)始。在遵循標準的任何Web文檔中,DOCTYPE都是一項必需的元素。它會(huì )影響代碼驗證,并決定了瀏覽器最終如何顯示你的web文檔。為了避免DOCTYPE的問(wèn)題重復出現,我根據手頭的資料整理了這篇文檔,以備自己及有興趣的朋友參考。
在默認情況下,FF和IE的解釋標準是不一樣的,也就是說(shuō),如果一個(gè)網(wǎng)頁(yè)沒(méi)有聲明DOCTYPE,它就會(huì )以默認的DOCTYPE解釋下面的HTML。在同一種標準下,不同瀏覽器的解釋模型都有所差異,如果聲明標準不同,不用我說(shuō),您自己想就可以了。學(xué)習網(wǎng)頁(yè)標準,瀏覽器兼容,從哪里開(kāi)始您自己決定,但是,請認識DOCTYPE:
一、什么是DOCTYPE
DOCTYPE是Document Type(文檔類(lèi)型)的簡(jiǎn)寫(xiě),在頁(yè)面中,用來(lái)指定頁(yè)面所使用的XHTML(或者HTML)的版本。要想制作符合標準的頁(yè)面,一個(gè)必不可少的關(guān)鍵組成部分就是DOCTYPE聲明。只有確定了一個(gè)正確的DOCTYPE,XHTML里的標識和CSS才能正常生效。
二、DOCTYPE的規則
DOCTYPE聲明的寫(xiě)法遵循一定的規則,它指出閱讀程序應該用什么規則集來(lái)解釋文檔中的標記。在Web文檔的情況下,“閱讀程序”通常是瀏覽器或者校驗器這樣的一個(gè)程序,“規則”則是w3c所發(fā)布的一個(gè)文檔類(lèi)型定義(dtd)中包含的規則。
每個(gè)dtd都包括標記、attributes、properties等內容,它們用于標記web文檔的內容;此外還包括一些規則,它們規定了哪些標記能出現在其他哪些標記中。每個(gè)web建議標準(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。
以下是從手冊上摘抄的規則:
語(yǔ)法:
HTML 頂級元素 可用性 "注冊//組織//類(lèi)型 標簽//定義 語(yǔ)言""URL"
可能值:
- 頂級元素:指定 DTD 中聲明的頂級元素類(lèi)型。這與聲明的 SGML 文檔類(lèi)型相對應。 HTML 默認。HTML。
- 可用性:指定正式公開(kāi)標識符(FPI)是可公開(kāi)訪(fǎng)問(wèn)的對象還是系統資源。 PUBLIC 默認?晒_(kāi)訪(fǎng)問(wèn)的對象。SYSTEM 系統資源,如本地文件或 URL。
- 注冊:指定組織是否由國際標準化組織(ISO)注冊。 默認。組織名稱(chēng)已注冊。
- 組織名稱(chēng)未注冊。Internet 工程任務(wù)組(IETF)和萬(wàn)維網(wǎng)協(xié)會(huì )(W3C)并非注冊的 ISO 組織。
組織:指定表明負責由 !DOCTYPE 聲明引用的 DTD 的創(chuàng )建和維護的團體或組織的名稱(chēng),即 OwnderID。 IETF IETF。 W3C W3C。
- 類(lèi)型:指定公開(kāi)文本類(lèi),即所引用的對象類(lèi)型。 DTD 默認。DTD。
- 標簽:指定公開(kāi)文本描述,即對所引用的公開(kāi)文本的唯一描述性名稱(chēng)。后面可附帶版本號。 HTML 默認。HTML。
- 定義:指定文檔類(lèi)型定義。
Frameset 框架集文檔。
Strict 排除所有 W3C 專(zhuān)家希望逐步淘汰的代表性屬性和元素,因為樣式表已經(jīng)很完善了。
Transitional 包含除 frameSet 元素的全部?jì)热荨?/p>
- 語(yǔ)言:指定公開(kāi)文本語(yǔ)言,即用于創(chuàng )建所引用對象的自然語(yǔ)言編碼系統。該語(yǔ)言定義已編寫(xiě)為 ISO 639 語(yǔ)言代碼(大寫(xiě)兩個(gè)字母)。 EN 默認。英語(yǔ)。
- URL:指定所引用對象的位置
為了獲得正確的DOCTYPE聲明,關(guān)鍵就是讓dtd與文檔所遵循的標準對應。例如,假定文檔遵循的是xhtml 1.0 strict標準,文檔的doctype聲明就應該引用相應的dtd。另一方面,如果doctype聲明指定的是xhtml dtd,但文檔包含的是舊式風(fēng)格的html標記,就是不恰當的;類(lèi)似地,如果doctype聲明指定的是html dtd,但文檔包含的是xhtml 1.0 strict標記,同樣是不恰當的。
三、選擇什么樣的DOCTYPE
如上例所示,XHTML 1.0中有3種DTD(文檔類(lèi)型定義)聲明可以選擇:過(guò)渡的(Transitional)、嚴格的(Strict)和框架的(Frameset)。這里分別介紹如下。
1.過(guò)渡的
一種要求不很?chē)栏竦腄TD,允許在頁(yè)面中使用HTML4.01的標識(符合x(chóng)html語(yǔ)法標準)。過(guò)渡的DTD的寫(xiě)法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2.嚴格的
一種要求嚴格的DTD,不允許使用任何表現層的標識和屬性,例如
等。嚴格的DTD的寫(xiě)法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3.框架的
一種專(zhuān)門(mén)針對框架頁(yè)面所使用的DTD,當頁(yè)面中含有框架元素時(shí),就要采用這種DTD?蚣艿腄TD的寫(xiě)法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
使用嚴格的DTD來(lái)制作頁(yè)面,當然是最理想的方式。但是,對于沒(méi)有深入了解Web標準的網(wǎng)頁(yè)設計者,比較合適的是使用過(guò)渡的DTD。因為這種DTD還允許使用表現層的標識、元素和屬性,比較適合大多數網(wǎng)頁(yè)制作人員。
四、需要注意的問(wèn)題
沒(méi)什么特別的,就是一定要將DOCTYPE聲明放在XHTML文檔的頂部,上面哪怕多個(gè)HTML注釋標記都不行。
最好示例代碼也加上DOCTYPE,否則效果會(huì )有差異。
【W(wǎng)eb標準:什么是DOCTYPE】相關(guān)文章:
淺談Web標準真的是標準嗎01-23
web標準常見(jiàn)問(wèn)題10-10
WEB教程標準應用標簽10-19
Web Workers加速移動(dòng)Web應用07-01
智商的標準是什么09-11
什么是標準工時(shí)-如何制定06-04
web瀏覽創(chuàng )作效果精選08-01
Web開(kāi)發(fā)的教程圖解06-05
Web 2.0技術(shù)的內容08-13
關(guān)于好模特的標準是什么05-27