CSS邊框,內邊距,外邊距

[轉自W3school]

原地址:http://www.w3school.com.cn/css/css_boxmodel.asp

一、CSS 框模型概述

CSS 框模型

元素框的最內部分是實際的內容,直接包圍內容的是內邊距。內邊距呈現了元素的背景。內邊距的邊緣是邊框。邊框以外是外邊距,外邊距默認是透明的,因此不會遮擋其後的任何元素。

在 CSS 中,width 和 height 指的是內容區域的寬度和高度。增加內邊距、邊框和外邊距不會影響內容區域的尺寸,但是會增加元素框的總尺寸。

假設框的每個邊上有 10 個像素的外邊距和 5 個像素的內邊距。如果希望這個元素框達到 100 個像素,就需要將內容的寬度設置爲 70 像素,請看下圖:

CSS 框模型實例

#box {
  width: 70px;
  margin: 10px;
  padding: 5px;
}
二、CSS內邊距

CSS padding 屬性定義元素的內邊距。padding 屬性接受長度值或百分比值,但不允許使用負值。

例如,如果您希望所有 h1 元素的各邊都有 10 像素的內邊距,只需要這樣:

h1 {padding: 10px;}

您還可以按照上、右、下、左的順序分別設置各邊的內邊距,各邊均可以使用不同的單位或百分比值:

h1 {padding: 10px 0.25em 2ex 20%;}

前面提到過,可以爲元素的內邊距設置百分數值。百分數值是相對於其父元素的 width 計算的,這一點與外邊距一樣。所以,如果父元素的 width 改變,它們也會改變。

下面這條規則把段落的內邊距設置爲父元素 width 的 10%:

p {padding: 10%;}

例如:如果一個段落的父元素是 div 元素,那麼它的內邊距要根據 div 的 width 計算。

<div style="width: 200px;">
<p>This paragragh is contained within a DIV that has a width of 200 pixels.</p>
</div> 

注意:上下內邊距與左右內邊距一致;即上下內邊距的百分數會相對於父元素寬度設置,而不是相對於高度。

三、邊框

元素外邊距內就是元素的的邊框 (border)。元素的邊框就是圍繞元素內容和內邊據的一條或多條線。

每個邊框有 3 個方面:寬度、樣式,以及顏色。

邊框的樣式:border-style:

邊框的寬度:border-width: 

邊框顏色: border-color:

四、外邊距

margin 屬性接受任何長度單位,可以是像素、英寸、毫米或 em。

margin 可以設置爲 auto。更常見的做法是爲外邊距設置長度值。下面的聲明在 h1 元素的各個邊上設置了 1/4 英寸寬的空白:

h1 {margin : 0.25in;}

下面的例子爲 h1 元素的四個邊分別定義了不同的外邊距,所使用的長度單位是像素 (px):

h1 {margin : 10px 0px 15px 5px;}

與內邊距的設置相同,這些值的順序是從上外邊距 (top) 開始圍着元素順時針旋轉的:

margin: top right bottom left

另外,還可以爲 margin 設置一個百分比數值:

p {margin : 10%;}

百分數是相對於父元素的 width 計算的。上面這個例子爲 p 元素設置的外邊距是其父元素的 width 的 10%。

margin 的默認值是 0,所以如果沒有爲 margin 聲明一個值,就不會出現外邊距。但是,在實際中,瀏覽器對許多元素已經提供了預定的樣式,外邊距也不例外。例如,在支持 CSS 的瀏覽器中,外邊距會在每個段落元素的上面和下面生成“空行”。因此,如果沒有爲 p 元素聲明外邊距,瀏覽器可能會自己應用一個外邊距。當然,只要你特別作了聲明,就會覆蓋默認樣式。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章