在文檔中,元素被表示爲一個矩形的盒子。瀏覽器
在CSS中,使用盒模型描述這些矩形盒子中的每個。這個模型描述了元素所佔空間的內容。每一個盒子有四個邊:外邊距邊(margin), 邊框邊(border), 內填充邊(padding)與內容邊(content)。 測試
box-sizing 決定元素寬度和高度如何計算spa
box-sizing支持的屬性設計
content-box | border-box
值 | 描述 |
---|---|
content-box | 寬度和高度分別應用到元素的內容框。在寬度和高度以外繪製元素的內邊距和邊框。 |
border-box | 爲元素指定的任何內邊距和邊框都將在已設定的寬度和高度內進行繪製 |
值 | 描述 |
---|---|
auto | 瀏覽器計算內邊距。 |
length | 規定以具體單位計的內邊距值,好比像素、釐米等。默認值是 0px。但不容許使用負值。 |
% | 規定基於父元素的寬度的百分比的內邊距。 |
實際測試padding的百分比,測試結果並非等於,而是近似等於。瀏覽器計算會存在誤差,code
值 | 描述 |
---|---|
auto | 瀏覽器計算外邊距。 |
length | 規定以具體單位計的外邊距值,好比像素、釐米等。 |
% | 規定基於父元素的寬度的百分比的外邊距 |
設置margin: auto後,rem
塊級元素,在文檔流中文檔
margin-left和margin-right取值相同,按照下面公式計算it
'margin-left' + 'border' + 'padding' + 'width' + 'margin-right' = width of containing block
塊級元素,不在文檔流中table
margin-left和margin-right取值相同,按照下面公式計算class
'margin-left' + 'border' + 'padding' + 'width' + 'margin-right' = width of containing block
margin-top和margin-bottom取值相同,按照下面公式計算
'margin-top' + 'border' + 'padding' + 'height' + 'margin-bottom' = height of containing block