Web標(biāo)準(zhǔn):關(guān)于DOCTYPE
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-17 19:27:03 作者:佚名
我要評(píng)論

最近在藍(lán)色理想轉(zhuǎn)悠,發(fā)現(xiàn)很多朋友提出有關(guān)DIV CSS排版問(wèn)題,以及IE與FF的兼容問(wèn)題。怎么問(wèn)的都有,結(jié)果就是一個(gè)——顯示很奇怪,很難調(diào)整
DOCTYPE不可怕,但把它拿走,會(huì)讓你怕了又怕。
最近在藍(lán)色理想轉(zhuǎn)悠,發(fā)現(xiàn)很多朋友提出有關(guān)DIV CSS排版問(wèn)題,以及IE與FF的兼容問(wèn)題。怎么問(wèn)的都有,結(jié)果就是一個(gè)——顯示很奇怪,很難調(diào)整。我們?yōu)g覽的大多數(shù)網(wǎng)站,或者用Dreamweaver創(chuàng)建一個(gè)新的網(wǎng)頁(yè)文檔時(shí),源碼的頂部都會(huì)有DocType聲明,但是很多人沒(méi)有注意它,甚至在創(chuàng)作時(shí)候直接將它刪掉,其實(shí)這往往就是噩夢(mèng)的開(kāi)始。在遵循標(biāo)準(zhǔn)的任何Web文檔中,DOCTYPE都是一項(xiàng)必需的元素。它會(huì)影響代碼驗(yàn)證,并決定了瀏覽器最終如何顯示你的web文檔。為了避免DOCTYPE的問(wèn)題重復(fù)出現(xiàn),我根據(jù)手頭的資料整理了這篇文檔,以備自己及有興趣的朋友參考。
在默認(rèn)情況下,F(xiàn)F和IE的解釋標(biāo)準(zhǔn)是不一樣的,也就是說(shuō),如果一個(gè)網(wǎng)頁(yè)沒(méi)有聲明DOCTYPE,它就會(huì)以默認(rèn)的DOCTYPE解釋下面的HTML。在同一種標(biāo)準(zhǔn)下,不同瀏覽器的解釋模型都有所差異,如果聲明標(biāo)準(zhǔn)不同,不用我說(shuō),您自己想就可以了。學(xué)習(xí)網(wǎng)頁(yè)標(biāo)準(zhǔn),瀏覽器兼容,從哪里開(kāi)始您自己決定,但是,請(qǐng)認(rèn)識(shí)DOCTYPE:
一、什么是DOCTYPE
DOCTYPE是Document Type(文檔類(lèi)型)的簡(jiǎn)寫(xiě),在頁(yè)面中,用來(lái)指定頁(yè)面所使用的XHTML(或者HTML)的版本。要想制作符合標(biāo)準(zhǔn)的頁(yè)面,一個(gè)必不可少的關(guān)鍵組成部分就是DOCTYPE聲明。只有確定了一個(gè)正確的DOCTYPE,XHTML里的標(biāo)識(shí)和CSS才能正常生效。
二、DOCTYPE的規(guī)則
DOCTYPE聲明的寫(xiě)法遵循一定的規(guī)則,它指出閱讀程序應(yīng)該用什么規(guī)則集來(lái)解釋文檔中的標(biāo)記。在Web文檔的情況下,“閱讀程序”通常是瀏覽器或者校驗(yàn)器這樣的一個(gè)程序,“規(guī)則”則是w3c所發(fā)布的一個(gè)文檔類(lèi)型定義(dtd)中包含的規(guī)則。
每個(gè)dtd都包括標(biāo)記、attributes、properties等內(nèi)容,它們用于標(biāo)記web文檔的內(nèi)容;此外還包括一些規(guī)則,它們規(guī)定了哪些標(biāo)記能出現(xiàn)在其他哪些標(biāo)記中。每個(gè)web建議標(biāo)準(zhǔn)(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。
以下是從手冊(cè)上摘抄的規(guī)則:
語(yǔ)法:
HTML 頂級(jí)元素 可用性 "注冊(cè)//組織//類(lèi)型 標(biāo)簽//定義 語(yǔ)言""URL"
可能值:
- 頂級(jí)元素:指定 DTD 中聲明的頂級(jí)元素類(lèi)型。這與聲明的 SGML 文檔類(lèi)型相對(duì)應(yīng)。 HTML 默認(rèn)。HTML。
- 可用性:指定正式公開(kāi)標(biāo)識(shí)符(FPI)是可公開(kāi)訪(fǎng)問(wèn)的對(duì)象還是系統(tǒng)資源。 PUBLIC 默認(rèn)??晒_(kāi)訪(fǎng)問(wèn)的對(duì)象。SYSTEM 系統(tǒng)資源,如本地文件或 URL。
- 注冊(cè):指定組織是否由國(guó)際標(biāo)準(zhǔn)化組織(ISO)注冊(cè)。 默認(rèn)。組織名稱(chēng)已注冊(cè)。
- 組織名稱(chēng)未注冊(cè)。Internet 工程任務(wù)組(IETF)和萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)并非注冊(cè)的 ISO 組織。
組織:指定表明負(fù)責(zé)由 !DOCTYPE 聲明引用的 DTD 的創(chuàng)建和維護(hù)的團(tuán)體或組織的名稱(chēng),即 OwnderID。 IETF IETF。 W3C W3C。
- 類(lèi)型:指定公開(kāi)文本類(lèi),即所引用的對(duì)象類(lèi)型。 DTD 默認(rèn)。DTD。
- 標(biāo)簽:指定公開(kāi)文本描述,即對(duì)所引用的公開(kāi)文本的唯一描述性名稱(chēng)。后面可附帶版本號(hào)。 HTML 默認(rèn)。HTML。
- 定義:指定文檔類(lèi)型定義。
Frameset 框架集文檔。
Strict 排除所有 W3C 專(zhuān)家希望逐步淘汰的代表性屬性和元素,因?yàn)闃邮奖硪呀?jīng)很完善了。
Transitional 包含除 frameSet 元素的全部?jī)?nèi)容。
- 語(yǔ)言:指定公開(kāi)文本語(yǔ)言,即用于創(chuàng)建所引用對(duì)象的自然語(yǔ)言編碼系統(tǒng)。該語(yǔ)言定義已編寫(xiě)為 ISO 639 語(yǔ)言代碼(大寫(xiě)兩個(gè)字母)。 EN 默認(rèn)。英語(yǔ)。
- URL:指定所引用對(duì)象的位置
為了獲得正確的DOCTYPE聲明,關(guān)鍵就是讓dtd與文檔所遵循的標(biāo)準(zhǔn)對(duì)應(yīng)。例如,假定文檔遵循的是xhtml 1.0 strict標(biāo)準(zhǔn),文檔的doctype聲明就應(yīng)該引用相應(yīng)的dtd。另一方面,如果doctype聲明指定的是xhtml dtd,但文檔包含的是舊式風(fēng)格的html標(biāo)記,就是不恰當(dāng)?shù)模活?lèi)似地,如果doctype聲明指定的是html dtd,但文檔包含的是xhtml 1.0 strict標(biāo)記,同樣是不恰當(dāng)?shù)摹?
三、選擇什么樣的DOCTYPE
如上例所示,XHTML 1.0中有3種DTD(文檔類(lèi)型定義)聲明可以選擇:過(guò)渡的(Transitional)、嚴(yán)格的(Strict)和框架的(Frameset)。這里分別介紹如下。
1.過(guò)渡的
一種要求不很?chē)?yán)格的DTD,允許在頁(yè)面中使用HTML4.01的標(biāo)識(shí)(符合x(chóng)html語(yǔ)法標(biāo)準(zhǔn))。過(guò)渡的DTD的寫(xiě)法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2.嚴(yán)格的
一種要求嚴(yán)格的DTD,不允許使用任何表現(xiàn)層的標(biāo)識(shí)和屬性,例如<br/>等。嚴(yán)格的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)針對(duì)框架頁(yè)面所使用的DTD,當(dāng)頁(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">
使用嚴(yán)格的DTD來(lái)制作頁(yè)面,當(dāng)然是最理想的方式。但是,對(duì)于沒(méi)有深入了解Web標(biāo)準(zhǔn)的網(wǎng)頁(yè)設(shè)計(jì)者,比較合適的是使用過(guò)渡的DTD。因?yàn)檫@種DTD還允許使用表現(xiàn)層的標(biāo)識(shí)、元素和屬性,比較適合大多數(shù)網(wǎng)頁(yè)制作人員。
四、需要注意的問(wèn)題
沒(méi)什么特別的,就是一定要將DOCTYPE聲明放在XHTML文檔的頂部,上面哪怕多個(gè)HTML注釋標(biāo)記都不行。
最好示例代碼也加上DOCTYPE,否則效果會(huì)有差異。
最近在藍(lán)色理想轉(zhuǎn)悠,發(fā)現(xiàn)很多朋友提出有關(guān)DIV CSS排版問(wèn)題,以及IE與FF的兼容問(wèn)題。怎么問(wèn)的都有,結(jié)果就是一個(gè)——顯示很奇怪,很難調(diào)整。我們?yōu)g覽的大多數(shù)網(wǎng)站,或者用Dreamweaver創(chuàng)建一個(gè)新的網(wǎng)頁(yè)文檔時(shí),源碼的頂部都會(huì)有DocType聲明,但是很多人沒(méi)有注意它,甚至在創(chuàng)作時(shí)候直接將它刪掉,其實(shí)這往往就是噩夢(mèng)的開(kāi)始。在遵循標(biāo)準(zhǔn)的任何Web文檔中,DOCTYPE都是一項(xiàng)必需的元素。它會(huì)影響代碼驗(yàn)證,并決定了瀏覽器最終如何顯示你的web文檔。為了避免DOCTYPE的問(wèn)題重復(fù)出現(xiàn),我根據(jù)手頭的資料整理了這篇文檔,以備自己及有興趣的朋友參考。
在默認(rèn)情況下,F(xiàn)F和IE的解釋標(biāo)準(zhǔn)是不一樣的,也就是說(shuō),如果一個(gè)網(wǎng)頁(yè)沒(méi)有聲明DOCTYPE,它就會(huì)以默認(rèn)的DOCTYPE解釋下面的HTML。在同一種標(biāo)準(zhǔn)下,不同瀏覽器的解釋模型都有所差異,如果聲明標(biāo)準(zhǔn)不同,不用我說(shuō),您自己想就可以了。學(xué)習(xí)網(wǎng)頁(yè)標(biāo)準(zhǔn),瀏覽器兼容,從哪里開(kāi)始您自己決定,但是,請(qǐng)認(rèn)識(shí)DOCTYPE:
一、什么是DOCTYPE
DOCTYPE是Document Type(文檔類(lèi)型)的簡(jiǎn)寫(xiě),在頁(yè)面中,用來(lái)指定頁(yè)面所使用的XHTML(或者HTML)的版本。要想制作符合標(biāo)準(zhǔn)的頁(yè)面,一個(gè)必不可少的關(guān)鍵組成部分就是DOCTYPE聲明。只有確定了一個(gè)正確的DOCTYPE,XHTML里的標(biāo)識(shí)和CSS才能正常生效。
二、DOCTYPE的規(guī)則
DOCTYPE聲明的寫(xiě)法遵循一定的規(guī)則,它指出閱讀程序應(yīng)該用什么規(guī)則集來(lái)解釋文檔中的標(biāo)記。在Web文檔的情況下,“閱讀程序”通常是瀏覽器或者校驗(yàn)器這樣的一個(gè)程序,“規(guī)則”則是w3c所發(fā)布的一個(gè)文檔類(lèi)型定義(dtd)中包含的規(guī)則。
每個(gè)dtd都包括標(biāo)記、attributes、properties等內(nèi)容,它們用于標(biāo)記web文檔的內(nèi)容;此外還包括一些規(guī)則,它們規(guī)定了哪些標(biāo)記能出現(xiàn)在其他哪些標(biāo)記中。每個(gè)web建議標(biāo)準(zhǔn)(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。
以下是從手冊(cè)上摘抄的規(guī)則:
語(yǔ)法:
HTML 頂級(jí)元素 可用性 "注冊(cè)//組織//類(lèi)型 標(biāo)簽//定義 語(yǔ)言""URL"
可能值:
- 頂級(jí)元素:指定 DTD 中聲明的頂級(jí)元素類(lèi)型。這與聲明的 SGML 文檔類(lèi)型相對(duì)應(yīng)。 HTML 默認(rèn)。HTML。
- 可用性:指定正式公開(kāi)標(biāo)識(shí)符(FPI)是可公開(kāi)訪(fǎng)問(wèn)的對(duì)象還是系統(tǒng)資源。 PUBLIC 默認(rèn)??晒_(kāi)訪(fǎng)問(wèn)的對(duì)象。SYSTEM 系統(tǒng)資源,如本地文件或 URL。
- 注冊(cè):指定組織是否由國(guó)際標(biāo)準(zhǔn)化組織(ISO)注冊(cè)。 默認(rèn)。組織名稱(chēng)已注冊(cè)。
- 組織名稱(chēng)未注冊(cè)。Internet 工程任務(wù)組(IETF)和萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)并非注冊(cè)的 ISO 組織。
組織:指定表明負(fù)責(zé)由 !DOCTYPE 聲明引用的 DTD 的創(chuàng)建和維護(hù)的團(tuán)體或組織的名稱(chēng),即 OwnderID。 IETF IETF。 W3C W3C。
- 類(lèi)型:指定公開(kāi)文本類(lèi),即所引用的對(duì)象類(lèi)型。 DTD 默認(rèn)。DTD。
- 標(biāo)簽:指定公開(kāi)文本描述,即對(duì)所引用的公開(kāi)文本的唯一描述性名稱(chēng)。后面可附帶版本號(hào)。 HTML 默認(rèn)。HTML。
- 定義:指定文檔類(lèi)型定義。
Frameset 框架集文檔。
Strict 排除所有 W3C 專(zhuān)家希望逐步淘汰的代表性屬性和元素,因?yàn)闃邮奖硪呀?jīng)很完善了。
Transitional 包含除 frameSet 元素的全部?jī)?nèi)容。
- 語(yǔ)言:指定公開(kāi)文本語(yǔ)言,即用于創(chuàng)建所引用對(duì)象的自然語(yǔ)言編碼系統(tǒng)。該語(yǔ)言定義已編寫(xiě)為 ISO 639 語(yǔ)言代碼(大寫(xiě)兩個(gè)字母)。 EN 默認(rèn)。英語(yǔ)。
- URL:指定所引用對(duì)象的位置
為了獲得正確的DOCTYPE聲明,關(guān)鍵就是讓dtd與文檔所遵循的標(biāo)準(zhǔn)對(duì)應(yīng)。例如,假定文檔遵循的是xhtml 1.0 strict標(biāo)準(zhǔn),文檔的doctype聲明就應(yīng)該引用相應(yīng)的dtd。另一方面,如果doctype聲明指定的是xhtml dtd,但文檔包含的是舊式風(fēng)格的html標(biāo)記,就是不恰當(dāng)?shù)模活?lèi)似地,如果doctype聲明指定的是html dtd,但文檔包含的是xhtml 1.0 strict標(biāo)記,同樣是不恰當(dāng)?shù)摹?
三、選擇什么樣的DOCTYPE
如上例所示,XHTML 1.0中有3種DTD(文檔類(lèi)型定義)聲明可以選擇:過(guò)渡的(Transitional)、嚴(yán)格的(Strict)和框架的(Frameset)。這里分別介紹如下。
1.過(guò)渡的
一種要求不很?chē)?yán)格的DTD,允許在頁(yè)面中使用HTML4.01的標(biāo)識(shí)(符合x(chóng)html語(yǔ)法標(biāo)準(zhǔn))。過(guò)渡的DTD的寫(xiě)法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2.嚴(yán)格的
一種要求嚴(yán)格的DTD,不允許使用任何表現(xiàn)層的標(biāo)識(shí)和屬性,例如<br/>等。嚴(yán)格的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)針對(duì)框架頁(yè)面所使用的DTD,當(dāng)頁(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">
使用嚴(yán)格的DTD來(lái)制作頁(yè)面,當(dāng)然是最理想的方式。但是,對(duì)于沒(méi)有深入了解Web標(biāo)準(zhǔn)的網(wǎng)頁(yè)設(shè)計(jì)者,比較合適的是使用過(guò)渡的DTD。因?yàn)檫@種DTD還允許使用表現(xiàn)層的標(biāo)識(shí)、元素和屬性,比較適合大多數(shù)網(wǎng)頁(yè)制作人員。
四、需要注意的問(wèn)題
沒(méi)什么特別的,就是一定要將DOCTYPE聲明放在XHTML文檔的頂部,上面哪怕多個(gè)HTML注釋標(biāo)記都不行。
最好示例代碼也加上DOCTYPE,否則效果會(huì)有差異。
相關(guān)文章
AudioContext 實(shí)現(xiàn)音頻可視化(web技術(shù)分享)
這篇文章主要分享的是web技術(shù)的 AudioContext 實(shí)現(xiàn)音頻可視化,要實(shí)現(xiàn)音頻可視化得先實(shí)現(xiàn)一些炫酷的效果需要借助 Web Audio API提供的一些方法 AudioContext,下面詳細(xì)內(nèi)容2022-02-23- 這篇文章主要給大家介紹了web技術(shù)中的WebRTC記錄音視頻流,文章內(nèi)容圍繞主題展相關(guān)資料,需要的小伙伴可以參考一下,希望對(duì)你有所幫助2022-02-23
- 這是我通過(guò)網(wǎng)上查閱資料總結(jié)的一些編碼規(guī)范,用于鞏固對(duì)html,css頁(yè)面重構(gòu)時(shí)的基礎(chǔ),需要的朋友可以參考下2020-12-19
前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開(kāi)發(fā)規(guī)范
這篇文章主要介紹了前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開(kāi)發(fā)規(guī)范,需要的朋友可以參考下2017-01-21Web前端開(kāi)發(fā)規(guī)范2017(HTML/JavaScript/CSS)
這是一份旨在增強(qiáng)團(tuán)隊(duì)的開(kāi)發(fā)協(xié)作,提高代碼質(zhì)量和打造開(kāi)發(fā)基石的編碼風(fēng)格規(guī)范,其中包含了 HTML, JavaScript 和 CSS/SCSS 這幾個(gè)部分。我們知道,當(dāng)一個(gè)團(tuán)隊(duì)開(kāi)始指定并實(shí)行2017-01-21web前端開(kāi)發(fā)規(guī)范文檔(2014年版本)
這篇文章主要為大家介紹了前端開(kāi)發(fā)團(tuán)隊(duì)遵循和約定的代碼書(shū)寫(xiě)規(guī)范,意在提高代碼的規(guī)范性和可維護(hù)性,需要的朋友可以參考下2017-01-21響應(yīng)式Web之流式網(wǎng)格系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了響應(yīng)式Web之流式網(wǎng)格系統(tǒng)的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-07-04在網(wǎng)頁(yè)標(biāo)題欄上和收藏夾顯示網(wǎng)站logo的實(shí)現(xiàn)方法
下面小編就為大家分享一篇在網(wǎng)頁(yè)標(biāo)題欄上和收藏夾顯示網(wǎng)站logo的實(shí)現(xiàn)方法。希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦2016-03-16Visual Foxpro 6.0 中文版安裝向?qū)?圖解)
基于很多用戶(hù)都在下載Visual Foxpro 6.0,但是有安裝vtp6.0經(jīng)驗(yàn)的朋友確很少,在安裝過(guò)程中總會(huì)出現(xiàn)這樣那樣的問(wèn)題,基于這些問(wèn)題,下面小編抽個(gè)時(shí)間把Visual Foxpro 6.02015-09-09網(wǎng)站日志200 0 64狀態(tài)碼的分析(協(xié)議子狀態(tài))
網(wǎng)站日志200 0 64狀態(tài)碼的分析介紹2012-10-29