一、什麼是CSS盒模型?CSS盒子模型包括元素、內邊距、邊框、外邊距,以下圖:html
二、元素分類:元素能夠分爲塊狀元素、內聯元素、內聯塊狀元素。post
經常使用塊狀元素:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>url
經常使用內聯元素:<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>spa
經常使用內聯塊狀元素:<img>、<input>code
(1)塊狀元素(也叫塊級元素)特色orm
-
- 每一個塊級元素都重新的一行開始,而且其後的元素也另起一行。
- 元素的高度、寬度、行高以及頂和底邊距均可設置。
- 元素寬度在不設置的狀況下,是它自己父容器的100%(和父元素的寬度一致),除非設定一個寬度。
注:可使用display: block,將元素轉爲塊狀元素,使之具有塊狀元素的特色。htm
(2)內聯元素(也叫行內元素)特色blog
-
- 和其餘元素都在一行上;
- 元素的高度、寬度及頂部和底部邊距不可設置;
- 元素的寬度就是它包含的文字或圖片的寬度,不可改變。
注:可使用display: inline,將元素轉爲內聯元素,使之具有內聯元素的特色。圖片
(3)內聯塊狀元素特色ci
-
- 和其餘元素都在一行上;
- 元素的高度、寬度、行高以及頂和底邊距均可設置。
注:可使用display: inline-block,將元素轉爲內聯塊狀元素,使之具有內聯塊狀元素的特色。
三、盒模型--邊框:邊框涉及到三個點,分別是邊框的粗細、樣式、顏色。如border: 2px solid red,意思爲粗細爲2px,樣式爲實線,顏色爲紅色。
粗細:通常使用像素點表示,如2px;
樣式:經常使用的樣式有solid(實線)、dashed(虛線)、dotted(點線);
顏色:可使用RGB表示,也可使用red、blue這種表示。
注:邊框能夠分爲border-top、border-bottom、border-left、border-right,分別是上邊框,下邊框,左邊框和右邊框。border包括了這四個部分。
四、盒模型-寬度和高度
寬度=元素寬度+左右內邊框寬度+左右邊框寬度+左右外邊框寬度
=200 +20 * 2 +1 * 2 +10 * 2
=262
高度=元素高度+左右內邊框高度+左右邊框高度+左右外邊框高度
=18 +20 * 2 +1 * 2 +10 * 2
=80
五、盒模型--填充:設置元素與邊框之間的距離,叫作填充。用padding設置,padding也分爲四部分,即上右下左(padding-top/padding-right/padding-bottom/padding-left),它們是順時針。
例子:
padding: 10px 11px 12px 13px; <!--順序爲上右下左-->
上面也能夠寫爲
padding-top:10px;
padding-right:11px;
padding-bottom:12px;
padding-left: 13px;
若是上下均爲10px,左右均爲20px,那麼能夠這樣寫
padding: 10px 20px;
若是上下左右相同,均爲10px,那麼能夠這樣寫
padding: 10px;
六、盒模型--邊界:元素之間的距離就是邊界,也就是外邊框,用margin設置。margin也分爲四部分,即上右下左(margin-top/margin-right/margin-bottom/margin-left)。
例子:
margin: 10px 11px 12px 13px; <!--順序爲上右下左-->
上面也能夠寫爲
margin-top:10px;
margin-right:11px;
margin-bottom:12px;
margin-left: 13px;
若是上下均爲10px,左右均爲20px,那麼能夠這樣寫
margin: 10px 20px;
若是上下左右相同,均爲10px,那麼能夠這樣寫
margin: 10px;