CSS3 框大小

使用 CSS3 框大小調整功能,你可以控制元素的有效寬度。

用盒子尺寸重新定義盒子寬度

預設情況下,元素的盒子可見/呈現在網頁上的實際寬度或高度依賴於它的 widthheightpaddingborder 屬性。例如,如果你在一個有 100% width<div> 元素上應用 paddingborder,水平滾動條就會出現,你可以在下面的例子中看到。

.box {
    width: 100%;
    padding: 20px;
    border: 5px solid #f08080;
} 

這是網頁設計師長期面臨的常見問題。但是,CSS3 引入了 box-sizing 屬性來解決這個問題,並使 CSS 佈局更加簡單直觀。該 box-sizing 屬性更改預設的 CSS 框模型,使得元素上的任何 paddingborder 指定佈局並在內容區域內繪製,以便元素的渲染寬度和高度等於指定的 CSS widthheight 屬性。

.box {
    width: 100%;
    padding: 20px;
    border: 5px solid #f08080;
    box-sizing: border-box;
} 

如果你看到此示例的輸出,你會發現滾動條已消失。

注意: 使用 CSS box-sizing 屬性時,通過從指定 widthheight 屬性中減去各邊的寬度 borderpadding 寬度來計算內容區域的最終寬度和高度。

使用 Box-Sizing 建立佈局

使用 CSS box-sizing 屬性建立使用百分比的多列布局變得非常簡單。現在,在新增填充或邊框時,你不必擔心元素框的最終大小。

以下示例將建立一個兩列布局,其中每列具有相等的寬度,並使用 float 屬性並排放置。

.box {
    width: 50%;
    padding: 20px;
    background: #f2f2f2;
    float: left;
    box-sizing: border-box;
} 

同樣,你可以使用這種簡單的技術建立更復雜的佈局。

.box {
    width: 30%;
    padding: 20px;
    margin-left: 5%;
    background: #f2f2f2;
    float: left;
    box-sizing: border-box;
}
.box:first-child {
    margin-left: 0;
}