doctype是什么,舉例常見doctype及特點
1.聲明必須處于HTML文檔的頭部,在標(biāo)簽之前,HTML5中不區(qū)分大小寫
2.聲明不是一個HTML標(biāo)簽,是一個用于告訴瀏覽器當(dāng)前HTMl版本的指令,告知瀏覽器的解析器用什么文檔標(biāo)準(zhǔn)解析這個文檔。DOCTYPE不存在或格式不正確會導(dǎo)致文檔以兼容模式呈現(xiàn)。
3.現(xiàn)代瀏覽器的html布局引擎通過檢查doctype決定使用兼容模式還是標(biāo)準(zhǔn)模式對文檔進(jìn)行渲染,一些瀏覽器有一個接近標(biāo)準(zhǔn)模型。
4.在HTML4.01中聲明指向一個DTD,由于HTML4.01基于SGML,所以DTD指定了標(biāo)記規(guī)則以保證瀏覽器正確渲染內(nèi)容。HTML5不基于SGML,所以不用指定DTD常見doctype:
1.HTML4.01 strict:不允許使用表現(xiàn)性、廢棄元素(如font)以及frameset。聲明:
2.HTML4.01 Transitional:允許使用表現(xiàn)性、廢棄元素(如font),不允許使用frameset。聲明:
3.HTML4.01 Frameset:允許表現(xiàn)性元素,廢氣元素以及frameset。聲明:
4.XHTML1.0 Strict:不使用允許表現(xiàn)性、廢棄元素以及frameset。文檔必須是結(jié)構(gòu)良好的XML文檔。聲明:
5.XHTML1.0 Transitional:允許使用表現(xiàn)性、廢棄元素,不允許frameset,文檔必須是結(jié)構(gòu)良好的XML文檔。聲明:
6.XHTML 1.0 Frameset:允許使用表現(xiàn)性、廢棄元素以及frameset,文檔必須是結(jié)構(gòu)良好的XML文檔。聲明:
7.HTML 5: 嚴(yán)格模式與混雜模式——如何觸發(fā)這兩種模式,區(qū)分它們有何意義。在標(biāo)準(zhǔn)模式中,瀏覽器根據(jù)規(guī)范呈現(xiàn)頁面;在混雜模式中,頁面以一種比較寬松的向后兼容的方式顯示。瀏覽器根據(jù)DOCTYPE是否存在以及使用的哪種DTD來選擇要使用的呈現(xiàn)方法。如果XHTML文檔包含形式完整的DOCTYPE,那么它一般以標(biāo)準(zhǔn)模式呈現(xiàn)。對于HTML 4.01文檔,包含嚴(yán)格DTD的DOCTYPE常常導(dǎo)致頁面以標(biāo)準(zhǔn)模式呈現(xiàn)。包含過渡DTD和URI的DOCTYPE也導(dǎo)致頁面以標(biāo)準(zhǔn)模式呈現(xiàn),但是有過渡DTD而沒有URI會導(dǎo)致頁面以混雜模式呈現(xiàn)。DOCTYPE不存在或形式不正確會導(dǎo)致HTML和XHTML文檔以混雜模式呈現(xiàn)。html5有哪些新特性、移除了那些元素?
如何處理HTML5新標(biāo)簽的瀏覽器兼容問題?如何區(qū)分 HTML 和 HTML5?
HTML5 現(xiàn)在已經(jīng)不是 SGML 的子集,主要是關(guān)于圖像,位置,存儲,多任務(wù)等功能的增加。新的元素:section, video, progress, nav, meter, time, aside, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, output, rp, rt, ruby, source, summary, wbr。input元素的新類型:date, email, url,tel,search,range,color等等。新的屬性:ping(用于a與area), charset(用于meta), async(用于script)。全域?qū)傩裕篿d, tabindex, repeat。新的全域?qū)傩裕篶ontenteditable, contextmenu, draggable, dropzone, hidden, spellcheck。
移除元素:acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt。支持HTML5新標(biāo)簽:IE8/IE7/IE6支持通過document.createElement方法產(chǎn)生的標(biāo)簽,可以利用這一特性讓這些瀏覽器支持HTML5新標(biāo)簽,瀏覽器支持新標(biāo)簽后,還需要添加標(biāo)簽?zāi)J(rèn)的樣式。當(dāng)然也可以直接使用成熟的框架、比如html5shim; src="http://html5shim.googlecode.com/svn/trunk/html5.js"如何區(qū)分HTML5: DOCTYPE聲明\新增的結(jié)構(gòu)元素\功能元素