Doctype作用?標准模式與兼容模式各有什么區別?


位置:<!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
,是根據那個標准寫的,解析的時候用哪個標准解析。

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會失效


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM