免費的HTML5連載來了《HTML5網頁開發執行個體詳解》連載(三)DOCTYPE和字元集,html5doctype

來源:互聯網
上載者:User

免費的HTML5連載來了《HTML5網頁開發執行個體詳解》連載(三)DOCTYPE和字元集,html5doctype

在2.1.2節中通過新老DOCTYPE的對比,讀者可以清晰地看到HTML 5在精簡舊有結構上做出的努力。DOCTYPE在出現之初主要用於XML中,用作描述XML允許使用的元素、屬性和相片順序。起初HTML借鑒了XML中DOCTYPE的使用方法,並賦予了新用法,如大家熟知的觸發瀏覽器的標準模式。假使在製作一張頁面時,沒有設定DOCTYPE,則瀏覽器會以怪異模式狀態進行處理(即Quirks模式),該模式與標準模式在盒模型、樣式、布局等都存在較大差異。因此,DOCTYPE在製作頁面時是不可或缺的部分。

在上一版本HTML 4標準中,DOCTYPE被分為3種模式:

  • 嚴格模式,即嚴格遵循W3C標準的模式,代碼格式如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

  • 過渡模式,包含了W3C標準的內容,同時還可以使用不被W3C推薦的標籤,如font、b等,而且不可以使用架構元素(即frameset元素),代碼格式如下:

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

  • 架構模式,可以使用架構元素,其他與過渡模式相同,代碼格式如下:

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


    提示:舊有的HTML關於DOCTYPE標準,讀者可以參看W3C官方文檔說明,網頁地址:http://www.w3.org/TR/1999/REC-html401-19991224/struct/global.html#h-7.2。雖然之前版本的HTML對DOCTYPE做了重重規定,但真實情況卻是瀏覽器會盡最大的可能渲染對應的頁面,即使可能出現了一些不符合模式的做法,唯一會出現的是瀏覽器會在控制台中顯示一些錯誤警告,這種做法就是常說的瀏覽器容錯性,實則是對市場和使用者的妥協。

    故事發展到HTML 5,W3C將DOCTYPE剔除原有雞肋的聲明方式,簡化為如下格式:

<!DOCTYPE html>

   對於絕大多數開發人員來說,只需要使用這一種方式就足以滿足日常的開發使用,但如果要考慮到日後的相容和擴充等一系列問題,還需要瞭解W3C在新制定DOCTYPE的一些新規定,主要分為3類:

  • 普通模式,即<!DOCTYPE html>
  • 棄用模式,聽起來不知所云,其實指的就是對過往模式的相容模式,不過HTML5棄用了之前的過渡模式和架構模式,最終留下了6種書寫格式,代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.0//EN">

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.01//EN"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN"         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

  • 遺留相容模式,對於過往無法考證規則的一種相容方式,文法格式如下:

<!doctype HTML system"about:legacy-compat">

    通過對瀏覽器DOCTYPE的理解,讀者可以熟悉瀏覽器模式的觸發方式,不過就通常開發而言,只需要使用<!DOCTYPEhtml>這一種普通模式。

提示:HTML 5最新3種模式可以查看連結http://dev.w3.org/html5/markup/syntax.html#doctype-syntax。

        所謂的字元是對各種文字和符號的總稱,涵蓋了各國文字、標點符號、圖形符號和數字等。字元集是對多個字元的集合,常用的字元集有:ASCII、GB2312、Unicode、ISO等。科學家為了讓電腦準確地處理各種字元集,需要對字元進行編碼,以便電腦能夠識別和儲存各種文字。

        在HTML 5出現之前,瀏覽器會根據3種方式確認頁面的編碼格式,按優先順序排列如下:

  • 擷取HTTP要求標頭中的Content-Type字元對應的值。
  • 使用meta標籤聲明,文法格式如下:

<meta http-equiv="Content-Type"content="text/html; charset=utf-8">

  • 外鏈資源使用charset屬性聲明編碼格式,如script標籤中使用文法格式如下:

<script type="text/javascript"src="myscripts.js" charset="UTF-8"></script>

HTML 5出現後,對字元集的使用做了大量的簡化,可以使用以下文法進行字元集聲明:

<meta charset="utf-8">

對於日常使用網站開發而言,結合HTML 5的字元集使用,筆者給出如下建議:

  •  最優先使用HTTP要求標頭指定編碼。
  •  統一全站字元集編碼,HTML 5推薦UTF-8字元集。
  • 使用meta標籤確認字元集編碼,儘可能放在html標籤的第一個子項目位置。
  • 第三方引用的指令碼,在不確認字元編碼時,加上charset屬性設定編碼格式。

學習HTML5最好的書就是《HTML5網頁開發執行個體詳解》,用代碼學慣用案例學習,可比看文字有趣多了!!!一本書搞定HTML5,從現在開始。



html5的doctype可以給html4用

html5比html4更簡潔,HTML5簡化了很多細微的文法,例如doctype的聲明,你只需要寫<!doctype html>就行了。HTML5與HTML5,XHTML1相容,但是與SGML不相容。
html5有向下相容的特性,他可以完整的顯示html4的內容,至於你自己寫的標籤,瀏覽器解釋的問題,主要取決與瀏覽器,這個可以通過css來實現。能的。
求採納,謝謝
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.