位置:<!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會失效