CSS中的盒子模型(Box Model)是指在頁面中的元素都是一個個矩形盒子,每個盒子由四個部分構成:外邊距(margin)、邊框(border)、內邊距(padding)和內容(content)。
.box { margin: 10px; border: 1px solid black; padding: 20px; }
上述代碼定義了一個名為.box的樣式,其中設置了10像素的外邊距,1像素的黑色邊框以及20像素的內邊距。這個盒子的大小并未指定,它會自適應容納它的內容。
當我們設置一個元素的寬度和高度時,實際上是指定了元素內容區域的大小。盒子模型中的邊框、內邊距和外邊距都會在內容區域的基礎上累加。
.box { width: 200px; height: 100px; border: 1px solid black; padding: 20px; }
上述代碼中,.box元素的寬度和高度分別為200像素和100像素,同時有1像素的黑色邊框和20像素的內邊距。由于邊框和內邊距的存在,實際上.box元素占用的空間變成了242像素(200 + 2 x 1 + 2 x 20)。
除了上述屬性,盒子模型還有一些其他的屬性可以控制盒子的大小和位置,如box-sizing(盒子模型的計算方式,默認為content-box)、 overflow(控制內容溢出時的表現方式)、position(控制盒子的定位方式)等等。