學(xué)習(xí)Web標(biāo)準(zhǔn) 給你的網(wǎng)頁選擇合適的文檔類型_Web標(biāo)準(zhǔn)教程
你做了所有你認(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" |
假如你看到了這個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" |
注重到后面的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" |
- Web標(biāo)準(zhǔn):需要正確的使用H1~ H6標(biāo)簽
- 五個WEB標(biāo)準(zhǔn)中必須注意的地方
- 做到結(jié)構(gòu)(XHTML),表現(xiàn)(CSS),行為(JavaScript)的分離
- CSS標(biāo)準(zhǔn):HTML標(biāo)簽元素的關(guān)閉
- Web標(biāo)準(zhǔn)之路 勿使用W3C廢棄的元素
- CSS布局 聲明文檔類型描述(DTD)
- DIV CSS\讓搜索引擎蜘蛛不再累
- 用XHTML+CSS創(chuàng)建基于Web標(biāo)準(zhǔn)的網(wǎng)頁
- XHTML+CSS創(chuàng)建基于Web標(biāo)準(zhǔn)的網(wǎng)站
- DIV+CSS對SEO的幫助
- 淺析什么是Web標(biāo)準(zhǔn) 及其前景
- CSSer新手寄語:開始標(biāo)準(zhǔn)之路
Web標(biāo)準(zhǔn)教程Rss訂閱Div+Css教程搜索
Web標(biāo)準(zhǔn)教程推薦
- WEB2.0標(biāo)準(zhǔn)教程:第四天 調(diào)用樣式表
- 用HTML和CSS寫出漂亮的BLOG
- 符合WEB標(biāo)準(zhǔn)的表單效果
- 關(guān)于網(wǎng)頁路徑問題
- Web標(biāo)準(zhǔn)網(wǎng)站建設(shè)的一些思考
- 利用Yahoo!免費(fèi)獲取可重復(fù)使用的CSS
- 學(xué)習(xí)完全掌握純CSS布局網(wǎng)頁
- 教你如何動態(tài)加載外部CSS與JS文件
- WEB2.0標(biāo)準(zhǔn)教程:第五天 head區(qū)的其他設(shè)置
- WEB標(biāo)準(zhǔn)教程第10天:自適應(yīng)高度
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索學(xué)習(xí)Web標(biāo)準(zhǔn) 給你的網(wǎng)頁選擇合適的文檔類型
- 教程說明:
Web標(biāo)準(zhǔn)教程-學(xué)習(xí)Web標(biāo)準(zhǔn) 給你的網(wǎng)頁選擇合適的文檔類型。