转处: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布局的示例。
如下是上面示例的效果截图: