本文向大家介紹一下CSS中margin和padding屬性的用法,margin是指層的邊框以外留的空白,padding是指層的邊框到層的內容之間的空白。
margin和padding屬性
margin和padding用來隔開元素,margin是隔開元素與外邊,padding是隔開元素裡邊。margin是指層的邊框以外留的空白,用於頁邊距或者與其它層制造一個間距。”10px10px10px10px”分別代表”上右下左”(順時針方向)四個邊距,如果都一樣,可以縮寫成”margin:10px;”。如果邊距為零,要寫成”margin:0px;”。注意:當值是零時,除了RGB顏色值0%必須跟百分號,其他情況後面可以不跟單位”px”。margin是透明元素,不能定義顏色。padding是指層的邊框到層的內容之間的空白。和margin一樣,分別指定上右下左邊框到內容的距離。如果都一樣,可以縮寫成”padding:0px”。單獨指定左邊可以寫成”padding-LEFT:0px;”。padding是透明元素,不能定義顏色。
例子h2:
- h2{
- font-size:1.5em;
- background-color:#ccc;
- margin:1em;
- padding:3em;
- }
為什麼不翻譯margin和padding?
原因一,在漢語中並沒有與之相對應的詞語;原因二:即使有這樣的詞語,由於在編寫CSS代碼時,必須使用margin和padding,如果我們總用漢語詞語代替其來解釋的話,到了實際應用時容易混淆margin和padding的概念。
如果有一點Html基礎的話,就應該了解一些基本元素(Element),如p,h1~h6,br,div,li,ul,img等.如果將這些元素細分,又可以分別歸為頂級(top-level)元素,塊級(block-level)元素和內聯(inline)元素。
1.Block-levelelement:指能夠獨立存在,一般的塊級元素之間以換行(如一個段落結束後另起一行)分隔。常用的塊級元素包括:p,h1~h6,div,ul等;
2.Inlineelement:指依附其他塊級元素存在,緊接於被聯元素之間顯示。而不換行。常用的內聯元素包括:img,span,li,br等;
3.Top-levelelement:包括Html,body,frameset,表現如Block-levelelement,屬於高級塊級元素。
塊級元素是構成一個Html的主要和關鍵元素,而任意一個塊級元素均可以用Boxmodel來解釋說明。
BoxModel:任意一個塊級元素均由content(內容),padding,background(包括背景顏色和圖片),border(邊框),margin五個部分組成。
◆以下說明margin和padding屬性:
margin:
包括margin-top,margin-right,margin-bottom,margin-left,控制塊級元素之間的距離,它們是透明不可見的,對於上右下左margin值均為40px,因此代碼為:
- h2{
- margin-top:40px;
- margin-right:40px;
- margin-bottom:40px;
- margin-left:40px;
- }
根據上,右,下,左的順時針規則,簡寫為
- h2{
- margin:40px40px40px40px;
- }
當上下、左右margin值分別一致,可簡寫為:
- h2{
- margin:40px40px;
- }
前一個40px代表上下margin值,後一個40px代表左右margin值。
當上下左右margin值均一致,可簡寫為:
- h2{
- margin:40px;
- }
padding:
包括padding-top、padding-right、padding-bottom、padding-left,控制塊級元素內部content與border之間的距離,其代碼簡寫請參考margin屬性的寫法。
至此,我們已經基本了解margin和padding屬性的基本用法。但是,在實際應用中,卻總是發生一些讓你琢磨不透的事,而它們又或多或少的與margin有關。
注:當你想讓兩個元素的content在垂直方向(vertically)分隔時,既可以選擇padding-top/bottom,也可以選擇margin-top/bottom,在此建議你盡量使用padding-top/bottom來達到你的目的,這是因為CSS中存在Collapsingmargins(折疊的margins)的現象。
【編輯推薦】