欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

學(xué)習(xí)Web標(biāo)準(zhǔn) 給你的網(wǎng)頁選擇合適的文檔類型_Web標(biāo)準(zhǔn)教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

你做了所有你認(rèn)為正確的事情,但頁面在最新的瀏覽器里并不能正確表現(xiàn)。那是你書寫了無效的XHTML和CSS.你使用了W3C標(biāo)準(zhǔn)的文檔對象模型(DOM)來操作頁面動態(tài)元素。而在瀏覽器去表現(xiàn)這些標(biāo)準(zhǔn)時,你的站點(diǎn)失效了。這很有可能就是一個錯誤的文檔類型(DOCTYPE)導(dǎo)致的。這篇文章就是為你提供DOCTYPE是如何工作的,還有解釋一些實際真實世界中這些文檔類型的用法。

為什么使用文檔類型(Why a DOCTYPE?)

依據(jù)HTML和XHTML標(biāo)準(zhǔn),一個DOCTYPE("document type declaration"的簡寫)是用來告訴瀏覽器你使用的是哪一個版本的(x)HTML,而且必須出現(xiàn)在每一個頁面的頂部。DOCTYPE是網(wǎng)頁的一個重要構(gòu)成:沒有他們,你的CSS將不再有效。

就像之前提及的ALA文章里(其它有趣的地方也同樣),DOCTYPE也要適應(yīng)其它的瀏覽器,比如Mozilla, IE5/Mac, 或者IE6,IE7。

一個新的DOCTYPE包含了一整個URI(sconf注:Universal Resource Identifier,通用資源標(biāo)志符)(一個完整的網(wǎng)址),它告訴那些瀏覽器去把頁面解析(render)成與標(biāo)準(zhǔn)相適的模型。把(X)HTML, CSS和DOM處理成你所期望的那樣。

使用一個不完善或是舊的的DOCTYPE,甚至不使用DOCTYPE,它會使瀏覽器把它轉(zhuǎn)化成“Quirks”模型,此時瀏覽器假設(shè)你寫的是過時的,殘缺的90年代后的代碼。

這樣設(shè)置,瀏覽器將嘗試用舊的標(biāo)準(zhǔn)解析你的頁面,把你的CSS解析成IE4標(biāo)準(zhǔn)。并且回復(fù)所有者一個非凡的DOM(IE回復(fù)的是IE的DOM,Mozilla和Netscape 6回復(fù)的卻是他們認(rèn)為的模型)。

無疑,這并不是你所想要的。但卻是你常得到的。所以本文就想要糾正這些不正確或是不完整的DOCTYPE。

(注:Opera瀏覽器不支持這些規(guī)則,它總是嘗試把網(wǎng)頁解析成標(biāo)準(zhǔn)適應(yīng)型,別一方面,Opera對W3C的DOM也沒有提供太強(qiáng)有力的支持。但他們也能很好的運(yùn)行)Ed:自從這篇文章第一次發(fā)布以來,Opera已經(jīng)把適應(yīng)的DOM(DOM-compliant)加到Opera7里面了。

DOCTYPE去哪了?(Where HAVE ALL THE DOCTYPES GONE?)

盡管文檔類型在瀏覽器中的WEB標(biāo)準(zhǔn)是重要的有機(jī)構(gòu)成,盡管W3C領(lǐng)導(dǎo)創(chuàng)建了WEB標(biāo)準(zhǔn),你也同樣期望W3C的站點(diǎn)能提供一些合適的文檔類型,你也可能想更迅速簡單的找到這些信息,然而,在我寫這篇文章的時候,你還不能。{Ed:W3C現(xiàn)在列出了一系列標(biāo)準(zhǔn)的DOCTYPEs在他的網(wǎng)站上,你能夠在W3C指南中看到這些,比如"My Web site is standard. And yours?”}

W3.org不是A List Apart, WebReference或者Webmonkey.它原來無意于幫助WEB設(shè)計者,開發(fā)者,還有民間團(tuán)體去加快他們熟悉和使用最新的科技。這不是他的工作。

W3C發(fā)布一系列的指南,盡管大多數(shù)的WEB設(shè)計者很少察覺。#

你能在W3.org上整天的搜索DOCTYPEs而不必去看那些專門的列表。并且當(dāng)你確實下載一個DOCTYPE(一般是關(guān)系到一些非凡的建議或工作草案),而它并不能不正常的在你的站點(diǎn)工作。

遍及W3C站點(diǎn)的是缺失URIs(sconf注:即不是完的URI)的DOCTYPEs,這些DOCTYPEs是指向W3C自己網(wǎng)站的。一旦這些從W3C上轉(zhuǎn)移到你自己的網(wǎng)頁上,這些URLs就會成為不存在的文檔了。

舉個例子中,許多站點(diǎn)的DOCTYPE是直接復(fù)制的W3.org上的:

以下為引用的內(nèi)容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">

假如你看到了這個DOCTYPE的最后一部分("DTD/xhtml1-strict.dtd").你會發(fā)現(xiàn)這是一個對W3C站點(diǎn)的相對鏈接。這是在W3C站點(diǎn)上的而不是你的。所以這個URI對瀏覽器沒有作用。(sconf注:當(dāng)你訪問W3.org時,由于這是一個相對鏈接,所以才起作用)。


這個DOCTYPE實際上應(yīng)該改成:

以下為引用的內(nèi)容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

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

注重到后面的DOCTYPE包含了一個完整的URI。這樣一來就顯示了一個網(wǎng)絡(luò)上的有效資源,瀏覽器就可以找到它,并把你的文檔解析成標(biāo)準(zhǔn)適應(yīng)(standards–compliant)型。

如何使用DOCTYPE(DOCTYPES THAT WORK)

那么DOCTYPE是該如何使用呢?很興奮你會這樣問。下面完整的DOCTYPE就是我們所需要的:

HTML 4.01 嚴(yán)謹(jǐn)型,過渡型,框架型

以下為引用的內(nèi)容:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 嚴(yán)謹(jǐn)型,過渡型,框架型

以下為引用的內(nèi)容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML1.1 DTD

以下為引用的內(nèi)容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

來源:模板無憂//所屬分類:Web標(biāo)準(zhǔn)教程/更新時間:2007-06-15
相關(guān)Web標(biāo)準(zhǔn)教程