doctype就是其中一個: <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 1. doctype是什么 doctype標簽 用來指定document的dtd(Document Type Definition)的,寫在每個html的最前面,形如: <!DOCTYPE RootElement Availability "URI" [declarations]> 如幾種常見的doctype: HTML 4.01: Strict<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> HTML 4.01 Transitional<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> XHTML 1.1 Strict DTD<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2. doctype能做什么 有沒有指定doctype, 以及指定不同的doctype都會激活不同的瀏覽器模式,從而產(chǎn)生對一些對html,css和js的影響,其中最著名的就是所謂的盒模型問題。 2.1 為什么會有多種模式 在很久很久以前還是netscape和ie爭霸天下的時代,由于太強大了,瀏覽器模式是由瀏覽器自己說了算的。時光流逝,轉(zhuǎn)眼到了戰(zhàn)國群雄的時代,大家發(fā)現(xiàn)如果都自己說了算的話天下就亂套了,就商量說推舉個盟主吧,于是w3c就上臺了。但是問題又來了,譬如IE,雖說再不能一頭獨大,向標準看齊是大勢所趨,但是假如瀏覽器只支持標準的話,之前的許多頁面又會產(chǎn)生一些問題。 于是doctype應(yīng)運而生,假如沒有指定任何doctype,就采用原先的模式,被稱為怪癖模式(Quirks Mode),假如指定了doctype,就遵循標準,被稱為標準模式或嚴格模式(Standards Mode)。期間,以Mozilla為代表的幾位,覺得標準模式里諸如img的解析不是很合適,就保留了一些個人意見,在指定一些特定的doctype情況下,會采用一種準標準模式(Almost Standards Mode),具體情況請參考Activating Browser Modes with Doctype,或是@隨網(wǎng)之舞的譯文用doctype激活瀏覽器模式。 2.2 不同模式的具體影響 @ppk大牛已經(jīng)給我們做了很好的總結(jié),Quirks mode and strict mode。 3. 建議采用的doctype <!DOCTYPE HTML> 理由:支持html5,在不識別的情況下,會采用嚴格模式。 再加入一些reset css,如img { display: block }解決瀏覽器兼容問題。 需要提醒注意的是,現(xiàn)在很多人使用的<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">以及<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">在幾個主要瀏覽器下都只相當于怪癖模式,換句話說,可以不加。