Doctype作用?標準模式與兼容模式各有什么區(qū)別?

Doctype的作用?標準模式與兼容模式各有什么區(qū)別??

Doctype是document type(文檔類型)的簡寫,用來告訴瀏覽器的解析器使用哪種HTML或XHTML規(guī)范解析頁面。DOCTYPE不存在或格式不正確會導(dǎo)致文檔以兼容模式呈現(xiàn)。文檔類型有3種:Strict(嚴格)、Transitional(過渡)以及Frameset(基于框架)。標準模式的排版和JS運作模式都是以該瀏覽器支持的最高標準運行。在兼容模式中,頁面以寬松的向后兼容的方式顯示,模擬老式瀏覽器的行為以防止站點無法工作。簡單的說,就是盡可能的能顯示東西給用戶看。

具體的說二者的不同在于:

1.width不同

在嚴格模式中 :width是內(nèi)容寬度 ,元素真正的寬度 = margin-left + border-left-width + padding-left + width + padding-right + border-right- width +? margin-right;

在兼容模式中 :width則是元素的實際寬度 ,內(nèi)容寬度 = width - ( padding-left + padding-right + border-left-width + border-right-width)

2.兼容模式下可設(shè)置百分比的高度和行內(nèi)元素的高寬

在Standards模式下,給span等行內(nèi)元素設(shè)置wdith和height都不會生效,而在兼容模式下,則會生效。

在standards模式下,一個元素的高度是由其包含的內(nèi)容來決定的,如果父元素沒有設(shè)置高度,子元素設(shè)置一個百分比的高度是無效的。

3.用margin:0 auto設(shè)置水平居中在IE下會失效

使用margin:0 auto在standards模式下可以使元素水平居中,但在兼容模式下卻會失效(用text-align屬性解決)

body{text-align:center};#content{text-align:left}

4.兼容模式下Table中的字體屬性不能繼承上層的設(shè)置,white-space:pre會失效,設(shè)置圖片的padding會失效

HTML5 為什么只需要<!DOCTYPE HTML>呢?

DTD的是W3C所發(fā)布的一個文檔類型定義,簡單的說,就是告訴瀏覽器你的這個HTML,是根據(jù)那個標準寫的,解析的時候用哪個標準解析。

HTML5 不基于 SGML,因此不需要對DTD進行引用,但是需要doctype來規(guī)范瀏覽器的行為(讓瀏覽器按照它們應(yīng)該的方式來運行)。

而HTML4.01基于SGML,所以需要對DTD進行引用,才能告知瀏覽器文檔所使用的文檔類型。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 14,189評論 1 92
  • ①<!DOCTYPE>告知瀏覽器的解析器用什么文檔標準解析這個文檔。DOCTYPE不存在或格式不正確會導(dǎo)致文檔以兼...
    6659a0f02826閱讀 941評論 0 0
  • 1. 前言 前端圈有個“梗”:在面試時,問個css的position屬性能刷掉一半人,其中不乏工作四五年的同學(xué)。在...
    YjWorld閱讀 4,936評論 5 15
  • 學(xué)會使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,446評論 2 66
  • --2001-- 2001年,你鄭重其事的收拾好書包,坐在媽媽的自行車后座,不再是幼兒園的小朋友了,你成為了一名優(yōu)...
    啊哦呀哈閱讀 609評論 0 0

友情鏈接更多精彩內(nèi)容