Doctype的作用
1.聲明叫做文檔類型DTD,它的作用就是用來(lái)標(biāo)識(shí)瀏覽器使用哪種文檔類型,讓瀏覽器知道以何種方式解析文檔。
2.必須位于HTML文檔的第一行,處于標(biāo)簽之前,但是不屬于HTML文檔標(biāo)簽。
3.聲明文檔的解析類型(document.compatMode),是為了避免瀏覽器的怪異模式。
嚴(yán)格模式和混雜模式的區(qū)別,以及如何觸發(fā)兩種模式
1.嚴(yán)格模式:瀏覽器按照W3C的標(biāo)準(zhǔn)解析代碼,又稱為標(biāo)準(zhǔn)模式。
2.混雜模式:瀏覽器按照自己的方式來(lái)解析代碼,以一種向后兼容的方式呈現(xiàn)。
3.Doctype可聲明的三種DTD類型:嚴(yán)格版本,過渡版本,基于框架的HTML版本。
區(qū)別:瀏覽器使用嚴(yán)格模式和混雜模式,與文檔中的DTD直接相關(guān)
(1)如果用文檔中包含嚴(yán)格的DOCTYPE,則以嚴(yán)格模式呈現(xiàn)(嚴(yán)格DTD--嚴(yán)格模式)
(2)包含過渡DTD和URL的DOCTYPE,以嚴(yán)格模式呈現(xiàn);包含過渡的DTD而沒有URL,以混雜模式呈現(xiàn);(過渡DTD+URL--嚴(yán)格,過渡DTD(無(wú)URL)-- 混雜模式))
(3)HTML5中沒有DTD,沒有嚴(yán)格和混雜模式的區(qū)分,HTML5中有相對(duì)寬松的語(yǔ)法,盡可能實(shí)現(xiàn)向后兼容
(4)DOCTYPE不存在或者格式不正確,以混雜模式呈現(xiàn)(DTD不存在或格式不正確--混雜模式)
嚴(yán)格模式和混雜模式解析語(yǔ)句的不同點(diǎn)
(1)可以設(shè)置行內(nèi)元素的寬高,在嚴(yán)格模式下給內(nèi)聯(lián)元素設(shè)置寬高都不起作用,在混雜模式下生效
(2)可設(shè)置百分比高度在嚴(yán)格模式下,如果沒有給父元素設(shè)置高度,而子元素的高度以百分比呈現(xiàn),這時(shí)是不生效的
(3)盒模型的寬高包含padding和border在W3C的標(biāo)準(zhǔn)下,給一個(gè)元素設(shè)置寬高,則呈現(xiàn)的是內(nèi)容的寬高。在IE5.5以下及其他瀏覽器的混雜模式下,盒子的寬度還包括padding和border。
(4)使用margin:0 auto在IE下會(huì)失效使用margin:0 auto在嚴(yán)格模式下會(huì)水平居中,而在混雜模式下會(huì)失效,但可以設(shè)置text-align:center來(lái)水平居中。
(5)混雜模式下的圖片padding會(huì)失效,Table中的字體屬性將無(wú)法繼承父元素的設(shè)置,white-space:pre會(huì)失效。
(1)如果用文檔中包含嚴(yán)格的DOCTYPE,則以嚴(yán)格模式呈現(xiàn)(嚴(yán)格DTD--嚴(yán)格模式)
(2)包含過渡DTD和URL的DOCTYPE,以嚴(yán)格模式呈現(xiàn);包含過渡的DTD而沒有URL,以混雜模式呈現(xiàn);(過渡DTD+URL--嚴(yán)格,過渡DTD(無(wú)URL)-- 混雜模式))
(3)HTML5中沒有DTD,沒有嚴(yán)格和混雜模式的區(qū)分,HTML5中有相對(duì)寬松的語(yǔ)法,盡可能實(shí)現(xiàn)向后兼容
(4)DOCTYPE不存在或者格式不正確,以混雜模式呈現(xiàn)(DTD不存在或格式不正確--混雜模式)
更多關(guān)于“前端培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬(wàn)人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來(lái)試聽。