DOCTYPE 作用

Q:Doctype作用?標準模式與兼容模式各有什麼區別?

A:
位置:<!DOCTYPE>聲明位於位於HTML文檔中的第一行,處於 <html> 標籤之前。
作用:告知瀏覽器的解析器用什麼文檔標準解析這個文檔。
           DOCTYPE不存在或格式不正確會導致文檔以兼容模式呈現。
語法:
      HTML 頂級元素 可用性 “註冊//組織//類型 標籤//定義 語言”“URL”

舉個栗子:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0//EN”>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Strict//EN”>
其中,DTD的是W3C所發佈的一個文檔類型定義,簡單的說,就是告訴瀏覽器你的這個HTML
,是根據那個標準寫的,解析的時候用哪個標準解析。

PS.爲什麼HTML5就只要寫<!DOCTYPE HTML>?

A:HTML 4.01 中的 doctype 需要對 DTD 進行引用,因爲 HTML 4.01 基於 SGML。
而 HTML 5 不基於 SGML,因此不需要對 DTD 進行引用,但是需要 doctype 來規範瀏覽器的行爲。
其中,SGML是標準通用標記語言,簡單的說,就是比HTML,XML更老的標準,這兩者都是由SGML發展而來的。
BUT,HTML5不是的。

DOCTYPE不存在或格式不正確會導致文檔以兼容模式呈現


Q:標準模式與兼容模式(怪異模式)各有什麼區別?

A:標準模式的排版 和JS運作模式都是以該瀏覽器支持的最高標準運行。
在兼容模式中,頁面以寬鬆的向後兼容的方式顯示,模擬老式瀏覽器的行爲以防止站點無法工作。
簡單的說,就是儘可能的顯示能顯示的東西給用戶看。

具體的說:
1.width不同
在嚴格模式中 :width是內容寬度 ,元素真正的寬度 = margin-left + border-left-width + padding-left + width + padding-right + border-right- width +  margin-right;
在兼容模式中 :width則是元素的實際寬度 ,內容寬度 = width - ( padding-left + padding-right + border-left-width + border-right-width)

2.兼容模式下可設置百分比的高度和行內元素的高寬
    在Standards模式下,給span等行內元素設置wdith和height都不會生效,而在兼容模式下,則會生效。
    在standards模式下,一個元素的高度是由其包含的內容來決定的,如果父元素沒有設置高度,子元素設置一個百分比的高度是無效的。

3.用margin:0 auto設置水平居中在IE下會失效
    使用margin:0 auto在standards模式下可以使元素水平居中,但在兼容模式下卻會失效(用text-align屬性解決)
    body{text-align:center};#content{text-align:left}

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


END:我們儘可能的讓瀏覽器記住我們原來的樣子。


上述是本人從前端網上copy下來的,敘述的內容只是一部分,具體在內容在今後的學習中再補

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章