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

首頁 > 開發 > CSS > 正文

Web標準:關于DOCTYPE

2024-07-11 08:21:38
字體:
來源:轉載
供稿:網友

doctype不可怕,但把它拿走,會讓你怕了又怕。

最近在藍色理想轉悠,發現很多朋友提出有關div+css排版問題,以及ie與ff的兼容問題。怎么問的都有,結果就是一個——顯示很奇怪,很難調整。我們瀏覽的大多數網站,或者用dreamweaver創建一個新的網頁文檔時,源碼的頂部都會有doctype聲明,但是很多人沒有注意它,甚至在創作時候直接將它刪掉,其實這往往就是噩夢的開始。在遵循標準的任何web文檔中,doctype都是一項必需的元素。它會影響代碼驗證,并決定了瀏覽器最終如何顯示你的web文檔。為了避免doctype的問題重復出現,我根據手頭的資料整理了這篇文檔,以備自己及有興趣的朋友參考。

在默認情況下,ff和ie的解釋標準是不一樣的,也就是說,如果一個網頁沒有聲明doctype,它就會以默認的doctype解釋下面的html。在同一種標準下,不同瀏覽器的解釋模型都有所差異,如果聲明標準不同,不用我說,您自己想就可以了。學習網頁標準,瀏覽器兼容,從哪里開始您自己決定,但是,請認識doctype:

一、什么是doctype

doctype是document type(文檔類型)的簡寫,在頁面中,用來指定頁面所使用的xhtml(或者html)的版本。要想制作符合標準的頁面,一個必不可少的關鍵組成部分就是doctype聲明。只有確定了一個正確的doctype,xhtml里的標識和css才能正常生效。

二、doctype的規則

doctype聲明的寫法遵循一定的規則,它指出閱讀程序應該用什么規則集來解釋文檔中的標記。在web文檔的情況下,“閱讀程序”通常是瀏覽器或者校驗器這樣的一個程序,“規則”則是w3c所發布的一個文檔類型定義(dtd)中包含的規則。
每個dtd都包括標記、attributes、properties等內容,它們用于標記web文檔的內容;此外還包括一些規則,它們規定了哪些標記能出現在其他哪些標記中。每個web建議標準(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。

以下是從手冊上摘抄的規則:

語法:

html  頂級元素  可用性 "注冊//組織//類型 標簽//定義  語言""url"

可能值:

- 頂級元素:指定 dtd 中聲明的頂級元素類型。這與聲明的 sgml 文檔類型相對應。 html 默認。html。
- 可用性:指定正式公開標識符(fpi)是可公開訪問的對象還是系統資源。 public 默認。可公開訪問的對象。system 系統資源,如本地文件或 url。
- 注冊:指定組織是否由國際標準化組織(iso)注冊。 + 默認。組織名稱已注冊。
- 組織名稱未注冊。internet 工程任務組(ietf)和萬維網協會(w3c)并非注冊的 iso 組織。
組織:指定表明負責由 !doctype 聲明引用的 dtd 的創建和維護的團體或組織的名稱,即 ownderid。 ietf ietf。 w3c w3c。
- 類型:指定公開文本類,即所引用的對象類型。 dtd 默認。dtd。
- 標簽:指定公開文本描述,即對所引用的公開文本的唯一描述性名稱。后面可附帶版本號。 html 默認。html。
- 定義:指定文檔類型定義。
  frameset 框架集文檔。
  strict 排除所有 w3c 專家希望逐步淘汰的代表性屬性和元素,因為樣式表已經很完善了。
  transitional 包含除 frameset 元素的全部內容。
- 語言:指定公開文本語言,即用于創建所引用對象的自然語言編碼系統。該語言定義已編寫為 iso 639  語言代碼(大寫兩個字母)。 en 默認。英語。
- url:指定所引用對象的位置

為了獲得正確的doctype聲明,關鍵就是讓dtd與文檔所遵循的標準對應。例如,假定文檔遵循的是xhtml 1.0 strict標準,文檔的doctype聲明就應該引用相應的dtd。另一方面,如果doctype聲明指定的是xhtml dtd,但文檔包含的是舊式風格的html標記,就是不恰當的;類似地,如果doctype聲明指定的是html dtd,但文檔包含的是xhtml 1.0 strict標記,同樣是不恰當的。

三、選擇什么樣的doctype

如上例所示,xhtml 1.0中有3種dtd(文檔類型定義)聲明可以選擇:過渡的(transitional)、嚴格的(strict)和框架的(frameset)。這里分別介紹如下。

1.過渡的

一種要求不很嚴格的dtd,允許在頁面中使用html4.01的標識(符合xhtml語法標準)。過渡的dtd的寫法如下:

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

2.嚴格的

一種要求嚴格的dtd,不允許使用任何表現層的標識和屬性,例如<br/>等。嚴格的dtd的寫法如下:

<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">

3.框架的

一種專門針對框架頁面所使用的dtd,當頁面中含有框架元素時,就要采用這種dtd。框架的dtd的寫法如下:

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd">

使用嚴格的dtd來制作頁面,當然是最理想的方式。但是,對于沒有深入了解web標準的網頁設計者,比較合適的是使用過渡的dtd。因為這種dtd還允許使用表現層的標識、元素和屬性,比較適合大多數網頁制作人員。

四、需要注意的問題

沒什么特別的,就是一定要將doctype聲明放在xhtml文檔的頂部,上面哪怕多個html注釋標記都不行。

最好示例代碼也加上doctype,否則效果會有差異。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万山特区| 武义县| 海口市| 洮南市| 乳山市| 巴塘县| 界首市| 远安县| 北京市| 聊城市| 葵青区| 郯城县| 尼玛县| 屯门区| 常熟市| 山西省| 阳曲县| 丘北县| 贡嘎县| 济南市| 肇源县| 琼结县| 密山市| 什邡市| 周宁县| 乌兰浩特市| 新蔡县| 周宁县| 大理市| 南安市| 云和县| 贵定县| 石柱| 海林市| 云阳县| 韶关市| 汤原县| 天门市| 辽宁省| 临漳县| 新建县|