CSS3 box-sizing 屬性語法
box-sizing: 設定値;
CSS3 box-sizing 屬性的設定値可以有三種,分別是 content-box, border-box, inherit,整理於下表。CSS3 box-sizing 屬性可設定値
參數值 | 語法 | 說明 |
content-box | box-sizing:content-box; | DIV 設定的寬度僅為內容寬度,而內距與邊框額外加上去。 |
border-box | box-sizing:border-box; | DIV 設定的寬度就已經包含內容寬度、內距與邊框寬度。 |
inherit | box-sizing:inherit; | 繼承至父層的 broder-sizing 設定値。 |
CSS3 box-sizing 屬性範例
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
#container{
width:300px;
border:5px blue solid;
margin-bottom:20px;
}
#div_a{
box-sizing:content-box;
-moz-box-sizing:content-box; /* Firefox */
-webkit-box-sizing:content-box; /* Safari */
width:300px;
border:5px orange solid;
padding:5px;
}
#div_b{
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Safari */
width:300px;
border:5px orange solid;
padding:5px;
}
</style>
</head>
<body>
<div id="container">
<div id="div_a">這是使用 box-sizing:content-box; 的效果</div>
</div>
<div id="container">
<div id="div_b">這是使用 box-sizing:border-box; 的效果</div>
</div>
</body>
</html>
範例的輸出結果<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
#container{
width:300px;
border:5px blue solid;
margin-bottom:20px;
}
#div_a{
box-sizing:content-box;
-moz-box-sizing:content-box; /* Firefox */
-webkit-box-sizing:content-box; /* Safari */
width:300px;
border:5px orange solid;
padding:5px;
}
#div_b{
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Safari */
width:300px;
border:5px orange solid;
padding:5px;
}
</style>
</head>
<body>
<div id="container">
<div id="div_a">這是使用 box-sizing:content-box; 的效果</div>
</div>
<div id="container">
<div id="div_b">這是使用 box-sizing:border-box; 的效果</div>
</div>
</body>
</html>
這是使用 box-sizing:content-box; 的效果
這是使用 box-sizing:border-box; 的效果
第二個橘色 DIV 區塊則使用了「box-sizing:border-box;」,所以 DIV 的總寬度包含了內容寬度、內距(padding)占用的寬度以及邊框所占用的寬度,換句話說,橘色 DIV 區塊的總寬度依然是 300px,不會超出藍色 DIV 區塊的範圍。
備註:藍色 DIV 區塊邊框內的寬度剛好是 300px。
延伸閱讀