天天看點

margin和padding了解

W3C組織建議把所有網頁上的對像都放 在一個盒(box)中,設計師可以通過建立定義來控制這個盒的屬性,這些對像包括段落、清單、标題、圖檔以及層。

盒模型主要定義四個區域:内容 (content)、邊框距(padding)即内邊距、邊界(border)和外邊距(margin)。 對于初學者,經常會搞不清楚margin,background-color,background- image,padding,content,border之間的層次、關系和互相影響。這裡提供一張盒模型的平面示意圖,希望便于你的了解和記憶。

margin和padding了解

margin和padding屬性:

1. Margin: 包括margin-top, margin-right, margin-bottom, margin-left, 控制塊級元素之間的距離, 它們是透明不可見的, 對于Fig. 2所示的上右下左margin值均為40px, 是以代碼為:

margin-top: 40px;

margin-right: 40px;

margin-bottom: 40px;

margin-left: 40px;

根據上, 右, 下, 左的順時針規則, 簡寫為

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:0;padding:0;}來統一。

代碼示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />  
        <style type="text/css">  
            body{  
                margin:0px;  
            }  
  
            .test1{  
                width:150px;  
                height:150px;  
                border:6px solid red;  
            }  
  
            .test2{  
                margin-top:40px;  
                padding-top:40px;  
                width:150px;  
                height:150px;  
                border:6px solid gray;  
            }  
  
            .test2_son{  
                width:80px;  
                height:50px;  
                border:12px solid blue;  
            }  
        </style>  
    </head>  
    <body>  
        <div class="test1">test1</div>  
        <div class="test2">  
            <div class="test2_son">test2_son</div>  
        </div>  
    </body>  
</html>  
           
margin和padding了解

 說明:圖中灰色地帶是class值為test2的div的邊框,它是有寬度的;

        ①、内邊距和外邊距是針對于其作用的元素和其他元素來講的,某一進制素的内邊距在另一個元素看來有可能是

外邊距,比如:class值為test2 div的内邊距在class值為test2_test div元素看來就是外邊距,是以上面代碼也可以

這樣寫:将class值為test2的div樣式清單中“padding-top:40px;”去掉,class值為test2_test div元素添

加“margin-top:40px;”——這樣的效果和代碼2-1是一樣的;