轉處:http://www.cnblogs.com/sunyunh/archive/2012/09/01/2666841.htmlcss
說在Web世界裏(特別是頁面佈局),Box Model無處不在。下面是Box Model的圖示:html
Box-Model 1瀏覽器
說明:上圖中,由內而外依次是元素內容(content)、內邊矩(padding-top、padding-right、padding-bottom、padding-left)、邊框(border-top、border-right、border-bottom、border-left)和外邊距(marging-top、margin-right、margin-bottom、margin-left)。佈局
內邊距、邊框和外邊距能夠應用於一個元素的全部邊,也能夠應用於單獨的邊。並且,外邊距能夠是負值,並且在不少狀況下都要使用負值的外邊距。spa
下圖是W3School的Box Model 圖解:代理
Box-Model 2(W3School) code
說明:htm
1.和第一幅圖同樣,在上圖中,元素框的最內部分是實際的內容(element);直接包圍內容的是內邊距(padding),內邊距呈現了元素的背景(background);內邊距的邊緣是邊框(border);邊框之外是外邊距(margin),外邊距默認是透明的,所以不會遮擋其後的任何元素(其實元素的margin就是其所在父元素的padding)。元素的背景應用於由內容和內邊距、邊框組成的區域。blog
2.內邊距、邊框和外邊距都是可選的,默認值是零。可是,許多元素將由用戶代理樣式表設置外邊距和內邊距。能夠經過將元素的 margin 和 padding 設置爲零來覆蓋這些瀏覽器樣式。這能夠分別進行,也能夠使用通用選擇器(*)對全部元素進行設置:element
/*設置全部元素的外邊距和內邊矩爲0*/ * { margin: 0; padding: 0; }
3. 在 CSS 中,width 和 height 指的是內容區域(element)的寬度和高度。增長內邊距、邊框和外邊距不會影響內容區域的尺寸,可是會增長元素框的總尺寸。假設框的每一個邊上有 10 個像素的外邊距和 5 個像素的內邊距。若是但願這個元素框達到 100 個像素,就須要將內容的寬度設置爲 70 像素,如下是CSS代碼:
#box { width: 70px; margin: 10px; padding: 5px; }
下圖是對上面CSS代碼的解釋:
如下是一個完整的CSS Box Model佈局的示例。
如下是上面示例的效果截圖: