实际上,所有元素都有(或可以有)这些属性,包括文档主体,例如,可使用下列规则去除其外边距:
body { margin:0px; }
掌握了盒子模型,你将能够创建具有专业布局的页面,因为这些属性将构成页面的主要样式。
2.11.1 外边距
外边距是盒子模型的最外一层。它将元素互相分开,其用法是相当灵活的。例如,假定给许多元素选择一个默认为10像素的外边距。当两个元素叠放时,将创建20像素的间隔,因为是将边框宽度相加。
不过,要克服这一潜在问题,当带有边框的元素直接相叠时,只应用较大的那个外边距。如果两个外边距相等,则只使用一个。这样,才有可能得到你想要的结果。但要注意,绝对定位或内联元素的外边距不合并。
通过margin属性可以一起改变元素的所有外边距,也可通过margin-left、margin-top、margin-right和margin-bottom属性单独改变元素的外边距。
如果设置margin属性,可提供1个、2个、3个或4个参数,其效果在下列规则中进行了注释:
margin:1px; /*Set all margins to 1 pixel width */
margin:1px 2px; /*Set the top and bottom margins to 1 pixel
and the left and right to 2 pixels width */
margin:1px 2px 3px; /*Set the top margin to 1 pixel, the left
and right to 2 pixels and the bottom
margin to 3 pixels width */
margin:1px 2px 3px 4px; /*Set the top margin to 1 pixel, the right
to 2 pixels, the bottom to 3 pixels and
the left margin to 4 pixels width */
2.11.2 边框
盒子模型的边框层与外边距类似,除了没有合并。用于修改边框的主要属性有border、border-left、border-top、border-right和border-bottom,这些属性都可添加其他子属性作为后缀,如-color、-style和-width。
用于margin属性的4种访问单独属性设置的方式也适用于border-width属性,所以下列都是有效的规则:
border-width:1px; /* All borders */
border-width:1px 2px; /* Top/bottom and left/right */
border-width:1px 2px 3px; /* Top, left/right and bottom */
border-width:1px 2px 3px 4px; /* Top, right, bottom and left */
2.11.3 内边距
盒子模型的最深一层是内边距,它在任意边框或外边距内部使用。用于修改内边距的主要属性有padding、padding-left、padding-top、padding-right和paddng-bottom。
用于margin和border属性的4种访问单独属性设置的方式也适用于padding属性,所以下列都是有效规则:
padding:1px; /* All borders */
padding:1px 2px; /* Top/bottom and left/right */
padding:1px 2px 3px; /* Top, left/right and bottom */
padding:1px 2px 3px 4px; /* Top, right, bottom and left */
2.11.4 内容
盒子模型的中心是可用本章所讨论的所有方式进行样式化的元素,它可以(通常将)包含子元素,然后依次包含子子元素等,每个元素都有其自己的样式和盒子模型设置。