CSS3 box-sizing說明
CSS3的box-sizing提供兩種設定:content-box和border-box。這兩種的差別在於,border、padding、margin等的長寬值是否被包含在element的長寬裏面。直接用範例來解釋:
第一個DIV沒有套用box-sizing,第二個box-sizing值是content-box,第3個是border-box。這3個DIV的width是200 pixel,height是150 pixel;padding是10 pixel;border width是5 pixel;margin是10 pixel。
因此,由此範例可知,border-box將padding和border width含括在div的原始寬高內,但margin不受此限。而content-box則是預設的樣式。
.demo-normal {
border: 5px solid;
width: 200px;
height: 150px;
margin: 10px;
padding: 10px;
text-align: center;
line-height: 150px;
}
.demo-content-box {
box-sizing: content-box;
-ms-box-sizing: content-box;
-o-box-sizing: content-box;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
}
.demo-border-box {
box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
第一個DIV沒有套用box-sizing,第二個box-sizing值是content-box,第3個是border-box。這3個DIV的width是200 pixel,height是150 pixel;padding是10 pixel;border width是5 pixel;margin是10 pixel。
Normal DIV
content box
border box
從這範例來看,普通的DIV和套用content-box的DIV樣式一樣,套用border-box樣式的DIV比較小。可以用Firebug之類的工具查看這3個DIV的offsetWidth/offsetHeigth的值,會發現第1個和第2個的值是230/180 pixel,第3個是200/150 pixel。因此,由此範例可知,border-box將padding和border width含括在div的原始寬高內,但margin不受此限。而content-box則是預設的樣式。
留言