CSS中的margin、border、padding區別

來源:互聯網
上載者:User

標籤:blank   相對   存在   上下左右   jpg   基本用法   背景圖片   12px   14.   

圖解CSS padding、margin、border屬性

W3C組織建議把所有網頁上的對像都放在一個盒(box)中,設計師可以通過建立定義來控制這個盒的屬性,這些對像包括段落、列表、標題、圖片以及層。盒模型主要定義四個地區:內容(content)、內邊距(padding)、邊框(border)和外邊距(margin)。對於初學者,經常會搞不清楚margin,background-color,background-image,padding,content,border之間的層次、關係和相互影響。這裡提供一張盒模型的3D,希望便於你的理解和記憶。

margin:層的邊框以外留的空白background-color:背景顏色background-image:背景圖片padding:層的邊框到層的內容之間的空白 border:邊框 content:內容

 

接下來將講述HTML和CSS的關鍵——盒子模型(Box model)。理解Box model的關鍵便是margin和padding屬性,而正確理解這兩個屬性也是學慣用css布局的關鍵。

注: 為什麼不翻譯margin和padding? 
原因一: 在漢語中並沒有與之相對應的詞語; 
原因二: 即使有這樣的詞語, 由於在編寫css代碼時, 必須使用margin和padding, 如果我們總用漢語詞語代替其來解釋的話, 到了實際應用時容易混淆margin和padding的概念。

如果有一點Html基礎的話,就應該瞭解一些基本元素(Element),如p、h1~h6、br、div、li、ul、img等。如果將這些元素細分,又可以分別為頂級(top-level)元素、塊級(block-level)元素和內聯(inline)元素。

區塊層級元素是構成一個html的主要和關鍵元素,而任意一個區塊層級元素均可以用Box model來解釋說明。
Box Model: 任意一個區塊層級元素均由content(內容)、padding、background(包括背景顏色和圖片)、border(邊框)、margin五個部分組成。
立體圖如下:

平面圖如下:

根據以上兩圖,相信大家對於Box model會有個直觀的認識。

以下說明margin和padding屬性:
1、margin: 包括margin-top、margin-right、margin-bottom、margin-left,控制區塊層級元素之間的距離,它們是透明不可見的。根據上、 右、下、左的順時針規則,可以寫為 margin: 40px 40px 40px 40px;
為便於記憶,請參考:

當上下、左右margin值分別一致, 可簡寫為:

margin: 40px 40px; 

前一個40px代表上下margin值,後一個40px代表左右margin值。
當上下左右margin值均一致,可簡寫為:

margin: 40px;

2、Padding: 包括padding-top、padding-right、padding-bottom、padding-left,控制區塊層級元素內部,content與border之間的距離,其代碼,簡寫請參考margin屬性的寫法。

至此,我們已經基本瞭解margin和padding屬性的基本用法。但是,在實際應用中,卻總是發生一些讓你琢磨不透的事,而它們又或多或少的與margin有關。

注: 當你想讓兩個元素的content在垂直方向(vertically)分隔時,既可以選擇padding-top/bottom,也可以選擇margin-top/bottom,再此Ruthless建議你盡量使用padding-top/bottom來達到你的目的,這是因為css中存在Collapsing margins(摺疊的margins)的現象。

Collapsing margins: margins摺疊現象只存在於臨近或有從屬關係的元素,垂直方向的margin中。

 

詳細說明如下: 
如果只提供一個,將用於全部的四條邊;
如果提供兩個,第一個用於上-下,第二個用於左-右; 
如果提供三個,第一個用於上,第二個用於左-右,第三個用於下; 
如果提供全部四個參數值,將按上-右-下-左的順序作用於四邊。

 

body { padding: 36px;} //對象四邊的補丁邊距均為36px body { padding: 36px 24px; } //上下兩邊的補丁邊距為36px,左右兩邊的補丁邊距為24px body { padding: 36px 24px 18px; } //上、下兩邊的補丁邊距分別為36px、18px,左右兩邊的補丁邊距為24px body { padding: 36px 24px 18px 12px; } //上、右、下、左補丁邊距分別為36px、24px、18px、12px

 

 

原文連結:http://www.cnblogs.com/linjiqin/p/3556497.html

CSS中的margin、border、padding區別

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.