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