1. 程式人生 > 實用技巧 >H5新增——html概述

H5新增——html概述

H5

1.DOCTYPE和瀏覽器渲染模式
	DOCTYPE,或者稱為 Document Type Declaration(文件型別宣告,縮寫 DTD)
	通常情況下,DOCTYPE 位於一個 HTML 文件的最前面的位置,位於根元素 HTML 的起始標籤之前。
	因為瀏覽器必須在解析 HTML 文件正文之前就確定當前文件的型別,以決定其需要採用的渲染模式,
	不同的渲染模式會影響到瀏覽器對於 CSS 程式碼甚至 JavaScript 指令碼的解析
	
	
	到目前為止,各瀏覽器主要包含了三種模式。在 HTML5 草案中,更加明確的規定了模式的定義:
	  	 傳統名稱	    				  		HTML5 草案名稱				document.compatMode 返回值
	standards mode(strict mode) 			no-quirks mode				CSS1Compat
	almost standards mode					limited-quirks mode			CSS1Compat
	quirks mode								quirks mode					BackCompat


	document.compatMode
		 document.compatMode 屬性最初由微軟在 IE 中創造出來,這是一個只讀的屬性,返回一個字串,
		 只可能存在兩種返回值:
			BackCompat:標準相容模式未開啟(怪異模式)
			CSS1Compat:標準相容模式已開啟(標準模式)

	在現代主流瀏覽器中,其實怪異模式的渲染和標準與幾乎標準間沒有太大的差別(ie9+ 谷歌 火狐 ...)
    ie5.5之前都是ie自己的渲染模式,怪異模式
    ie6才開始慢慢支援標準,標準模式,在ie6 中怪異和標準模式的區別最大
    ie7 8 9都是基於標準模式升級的,他們理論上存在怪異模式

	HTML5提供的<DOCTYPE html>是標準模式,向後相容的,等同於開啟了標準模式,
	那麼瀏覽器就得老老實實的按照W3C的 標準解析渲染頁面
	一個不含任何 DOCTYPE 的網頁將會以 怪異(quirks) 模式渲染。
	
	
	
	
	
2.DTD
	<!DOCTYPE html>
		當 doctype 資訊如上時,表明該頁面是遵守了 HTML5 規範的,瀏覽器會選擇 Standards Mode,這種 doctype 是最推薦的一種,
	我們平時設計頁面都應該加上這一個 doctype。
		HTML5 不基於 SGML,所以不需要引用 DTD,瀏覽器內部本身有對標籤進行解析渲染驗證的模組
	
	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
	當 doctype 如上時,瀏覽器同樣會選擇 Standards Mode,雖然和第一種 doctype 有一些區別,但是幾乎可以認為是一樣的。

	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
	當 doctype 如上時,瀏覽器會選擇 Almost Standards Mode,渲染時和標準會有一些區別

	當 doctype 缺失的時候,瀏覽器會選擇 Quirks Mode,這是非常不推薦的方式,
	當 doctype上面有註釋,標籤或者空行時,某些瀏覽器都會認為該頁面不具有doctype。
	我們應該儘量避免 Quirks Mode,這對一個 web 應用是非常不利的地方。
	


  
	 
4.每種doctype在瀏覽器中對應的渲染模式
	https://en.wikipedia.org/wiki/Quirks_mode