盒模型(Box Model)
盒模型(Box Model)
CSS 的盒模型是網頁設計中的核心概念之一,它定義了每個 HTML 元素在網頁上所佔據的空間和顯示方式。理解盒模型可以幫助我們更好地控制元素的大小、邊距、填充、邊框等特性,以實現更精確的佈局設計。
1. 盒模型結構
盒模型由四個主要部分組成,從內到外分別是:
- 內容(Content):元素的實際內容,例如文字、圖片或其他子元素。
- 內邊距(Padding):內容和邊框之間的空白區域,用於增加內容周圍的空間。
- 邊框(Border):圍繞元素內容和內邊距的邊框,可以設置顏色、樣式和寬度。
- 外邊距(Margin):元素邊框外的空白區域,用於設置元素與其他元素之間的距離。
2. 內容區域(width
和 height
)
width
和 height
屬性用於設置元素的內容區域的寬度和高度,不包括內邊距、邊框和外邊距。
- 語法:
1 2
width: 長度; height: 長度;
- 範例:
1 2 3 4
div { width: 200px; /* 設置寬度為200像素 */ height: 150px; /* 設置高度為150像素 */ }
3. 內邊距(padding
)
padding
屬性用於設置元素內容與邊框之間的內部空白區域。可以為所有四個方向(上、右、下、左)設置相同的內邊距,也可以為每個方向設置不同的內邊距。
- 語法:
1
padding: 上 右 下 左;
- 範例:
1 2 3 4 5 6 7 8 9
.box { padding: 10px; /* 四邊內邊距皆為10像素 */ } .box2 { padding: 10px 20px; /* 上下內邊距為10像素,左右內邊距為20像素 */ } .box3 { padding: 10px 15px 20px 25px; /* 上、右、下、左內邊距依次為10、15、20、25像素 */ }
4. 邊框(border
)
border
屬性用於設置元素的邊框,可以設定邊框的寬度、樣式和顏色。
- 語法:
1
border: [寬度] [樣式] [顏色];
- 範例:
1 2 3
.box { border: 2px solid #333; /* 寬度2像素的實線邊框,顏色為深灰色 */ }
- 邊框樣式值:
solid
(實線)、dashed
(虛線)、dotted
(點線)、double
(雙線)等。
5. 外邊距(margin
)
margin
屬性用於設置元素的外部空白區域,用於調整元素與其他元素之間的距離。
- 語法:
1
margin: 上 右 下 左;
- 範例:
1 2 3 4 5 6 7 8 9
.container { margin: 20px; /* 四邊外邊距皆為20像素 */ } .container2 { margin: 10px 5px; /* 上下外邊距為10像素,左右外邊距為5像素 */ } .container3 { margin: 5px 10px 15px 20px; /* 上、右、下、左外邊距依次為5、10、15、20像素 */ }
6. 簡寫屬性(padding
和 margin
)
padding
簡寫:padding: 10px;
— 四邊內邊距都為10px。padding: 10px 20px;
— 上下為10px,左右為20px。padding: 10px 20px 30px;
— 上為10px,左右為20px,下為30px。padding: 10px 20px 30px 40px;
— 上、右、下、左分別為10px、20px、30px、40px。
margin
簡寫:- 與
padding
類似的簡寫方式。
- 與
7. 設置盒模型的計算方式(box-sizing
)
box-sizing
屬性用於指定元素的寬度和高度是否包括內邊距和邊框。這個屬性有兩個值:
content-box
(預設):寬度和高度不包括內邊距和邊框,僅包含內容。border-box
:寬度和高度包括內邊距和邊框。- 語法:
1
box-sizing: content-box | border-box;
- 範例:
1 2 3 4 5 6
.element { width: 300px; padding: 10px; border: 5px solid #000; box-sizing: border-box; /* 寬度包含內邊距和邊框 */ }
8. 小結
CSS 的盒模型提供了一個靈活的框架,用於理解和控制元素在網頁佈局中的行為。掌握盒模型的概念可以幫助我們有效地設計和調整元素的佈局,解決常見的排版和間距問題,提升網頁的整體設計品質。
本文章以 CC BY 4.0 授權