<thead id="jxdzp"><address id="jxdzp"><pre id="jxdzp"></pre></address></thead>

<em id="jxdzp"><span id="jxdzp"></span></em>

    <listing id="jxdzp"><nobr id="jxdzp"><meter id="jxdzp"></meter></nobr></listing>

      <address id="jxdzp"></address>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>

          訂閱本欄目 RSS您所在的位置: 深山工作室 > DIV+CSS > 正文

          關于網頁里面的DOCTYPE見解

          藍色理想 2008/3/16 22:03:36 深山行者 字體: 瀏覽 6451

          css標準里面的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??蚣艿腄TD的寫法如下:

          <!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,否則效果會有差異。

          相關閱讀
          連云港天天美食網
          flash關閉動畫時同時關閉網頁的代碼
          使用uiautomatorviewer連接模擬器頁面報錯No Android devices were detected by adb.
          修改注冊表 優化Win XP技巧20招
          網站內容中某個關鍵字相關右鍵菜單
          深山行者留言系統 v3.5
          ASP操作access或sqlserver數據庫的函數庫
          海韻幼兒園
          共有0條關于《關于網頁里面的DOCTYPE見解》的評論
          發表評論
          正在加載評論......
          返回頂部發表評論
          呢 稱:
          表 情:
          內 容:
          評論內容:不能超過 1000 字,需審核,請自覺遵守互聯網相關政策法規。
          驗證碼: 驗證碼 
          網友評論聲明,請自覺遵守互聯網相關政策法規。

          您發布的評論即表示同意遵守以下條款:
          一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
          二、不得發布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
          三、本站對您所發布內容擁有處置權。

          更多信息>>欄目類別選擇
          百度小程序開發
          微信小程序開發
          微信公眾號開發
          uni-app
          asp函數庫
          ASP
          DIV+CSS
          HTML
          python
          更多>>同類信息
          jquery設置或獲取修改classname
          利用css3.0寫出一個音樂播放的唱片碟盤的效果
          利用css中的scale()實現放大縮小效果
          利用background-color:#000000a8在背景顏色16進制代碼之后加字母加上數字讓背景色透明
          css背景使用base64編碼或者將base64編碼放在img圖片標簽中
          利用css3中的-webkit-font-smoothing把網頁文字的毛邊去掉
          更多>>最新添加文章
          dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
          Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
          抖音直播音掛載小雪花 懂車帝小程序
          javascript獲取瀏覽器指紋可以用來做投票
          火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
          在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
          python通過代碼修改pip下載源讓下載庫飛起
          python里面requests.post返回的res.text還有其它的嗎
          更多>>隨機抽取信息
          JS獲取網頁中HTML元素的幾種方法
          利用java客戶端靜態頁面玩分頁
          asp遍歷站點所有文件夾的代碼
          利用CSS實現半透明效果兼容IE與火狐與chrome等瀏覽器
          仿MAC官網導航菜單
          能堅持幾秒?據說,美國空軍的飛行員被強制達到2分鐘!
          88国产精品视频一区二区三区