国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

學習Web標準 給你的網頁選擇合適的文檔類型

2024-04-27 13:53:15
字體:
來源:轉載
供稿:網友

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

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

依據HTML和XHTML標準,一個DOCTYPE("document type declaration"的簡寫)是用來告訴瀏覽器你使用的是哪一個版本的(x)HTML,而且必須出現在每一個頁面的頂部。DOCTYPE是網頁的一個重要構成:沒有他們,你的CSS將不再有效。

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

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

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

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

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

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

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

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

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

W3C發布一系列的指南,盡管大多數的WEB設計者很少察覺。#

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

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

舉個例子中,許多站點的DOCTYPE是直接復制的W3.org上的:

以下為引用的內容:

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

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


這個DOCTYPE實際上應該改成:

以下為引用的內容:

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

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

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

如何使用DOCTYPE(DOCTYPES THAT WORK)

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

HTML 4.01 嚴謹型,過渡型,框架型

以下為引用的內容:
<!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 嚴謹型,過渡型,框架型

以下為引用的內容:
<!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

以下為引用的內容:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 康平县| 天柱县| 蒙阴县| 阿尔山市| 光山县| 丹阳市| 浦县| 汶上县| 湖北省| 麻江县| 盐津县| 盘锦市| 天台县| 读书| 花莲市| 历史| 钦州市| 南康市| 建昌县| 康保县| 平顶山市| 成武县| 宁南县| 泰顺县| 会宁县| 永泰县| 工布江达县| 金乡县| 繁峙县| 海阳市| 中方县| 济南市| 鄂伦春自治旗| 舞钢市| 桓台县| 和顺县| 慈利县| 滦平县| 绥宁县| 孟村| 呼图壁县|