設置或檢索對象的盒模型組成模式
a、box-sizing:content-box: padding和border不被包含在定義的width和height之內。對象的實際寬度等於設置的width值和border、padding之和,即 ( Element width = width + border + padding,但占有頁面位置還要加上margin ) 此屬性表現為標准模式下的盒模型。
b、box-sizing:border-box: padding和border被包含在定義的width和height之內。對象的實際寬度就等於設置的width值,即使定義有border和padding也不會改變對象的實際寬度,即 ( Element width = width ) 此屬性表現為怪異模式下的盒模型。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在“標准模式”(Standards Mode) 頁面按照 HTML 與 CSS 的定義渲染,而在“怪異模式”(Quirks Mode)就是瀏覽器為了兼容很早之前針對舊版本瀏覽器設計、並未嚴格遵循 W3C 標准的網頁而產生的一種頁面渲染模式。瀏覽器基於頁面中文件類型描述的存在以決定采用哪種渲染模式;如果存在一個完整的`DOCTYPE`則瀏覽器將會采用標准模式,而如果它缺失則瀏覽器將會采用怪異模式。
強烈建議閱讀加深理解:[怪異模式(Quirks Mode)對 HTML 頁面的影響](http://www.ibm.com/developerworks/cn/web/1310_shatao_quirks/),這里列下瀏覽器標准模式和怪異模式的區別:
(1)盒模型:
在怪異模式下,盒模型為IE盒模型而非標准模式下的W3C 盒模型:在 IE 盒模型中,
box width = content width + padding left + padding right + border left + border right,
box height = content height + padding top + padding bottom + border top + border bottom。
而在 W3C 標准的盒模型中,box 的大小就是 content 的大小。
(2)圖片元素的垂直對齊方式:
對於`inline`元素和`table-cell`元素,在 IE Standards Mode 下 vertical-align 屬性默認取值為`baseline`。而當`inline`元素的內容只有圖片時,如`table`的單元格`table-cell`。在 IE Quirks Mode 下,`table`單元格中的圖片的 `vertical-align` 屬性默認為`bottom`,因此,在圖片底部會有幾像素的空間。
(3)`<table>`元素中的字體:
CSS 中,描述`font`的屬性有`font-family`,`font-size`,`font-style`,`font-weigh`,上述屬性都是可以繼承的。而在 IE Quirks Mode 下,對於`table` 元素,字體的某些屬性將不會從`body`或其他封閉元素繼承到`table`中,特別是 `font-size`屬性。
(4) 內聯元素的尺寸:
在 IE Standards Mode 下,non-replaced inline 元素無法自定義大小,而在 IE Quirks Mode 下,定義這些元素的`width`和`height` 屬性,能夠影響該元素顯示的大小尺寸。
(5) 元素的百分比高度:
a、CSS 中對於元素的百分比高度規定如下,百分比為元素包含塊的高度,不可為負值。如果包含塊的高度沒有顯式給出,該值等同於“auto”(即取決於內容的高度)。所以百分比的高度必須在父元素有聲明高度時使用。
b、當一個元素使用百分比高度時,在 IE Standards Mode 下,高度取決於內容的變化,而在 Quirks Mode 下,百分比高度則被正確應用。
(6) 元素溢出的處理:
在 IE Standard Mode 下,`overflow`取默認值 `visible`,即溢出可見,這種情況下,溢出內容不會被裁剪,呈現在元素框外。而在 Quirks Mode 下,該溢出被當做擴展`box`來對待,即元素的大小由其內容決定,溢出不會被裁剪,元素框自動調整,包含溢出內容。
