围绕在元素边框的空白区域是外边距。设置外边距会在元素外建立额外的“空白”。css
设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位、百分数值甚至负值。浏览器
设置外边距的最简单的方法就是使用 margin 属性。网站
margin 属性接受任何长度单位,能够是像素、英寸、毫米或 em。spa
margin 能够设置为 auto。更常见的作法是为外边距设置长度值。下面的声明在 h1 元素的各个边上设置了 1/4 英寸宽的空白:ssr
h1 {margin : 0.25in;}
下面的例子为 h1 元素的四个边分别定义了不一样的外边距,所使用的长度单位是像素 (px):文档
h1 {margin : 10px 0px 15px 5px;}
与内边距的设置相同,这些值的顺序是从上外边距 (top) 开始围着元素顺时针旋转的:get
margin: top right bottom left
另外,还能够为 margin 设置一个百分比数值:table
p {margin : 10%;}
百分数是相对于父元素的 width 计算的。上面这个例子为 p 元素设置的外边距是其父元素的 width 的 10%。方法
margin 的默认值是 0,因此若是没有为 margin 声明一个值,就不会出现外边距。可是,在实际中,浏览器对许多元素已经提供了预约的样式,外边距也不例外。例如,在支持 CSS 的浏览器中,外边距会在每一个段落元素的上面和下面生成“空行”。所以,若是没有为 p 元素声明外边距,浏览器可能会本身应用一个外边距。固然,只要你特别做了声明,就会覆盖默认样式。im
还记得吗?咱们曾经在前两节中提到过值复制。下面咱们为您讲解如何使用值复制。
有时,咱们会输入一些重复的值:
p {margin: 0.5em 1em 0.5em 1em;}
经过值复制,您能够没必要重复地键入这对数字。上面的规则与下面的规则是等价的:
p {margin: 0.5em 1em;}
这两个值能够取代前面 4 个值。这是如何作到的呢?CSS 定义了一些规则,容许为外边距指定少于 4 个值。规则以下:
下图提供了更直观的方法来了解这一点:
换句话说,若是为外边距指定了 3 个值,则第 4 个值(即左外边距)会从第 2 个值(右外边距)复制获得。若是给定了两个值,第 4 个值会从第 2 个值复制获得,第 3 个值(下外边距)会从第 1 个值(上外边距)复制获得。最后一个状况,若是只给定一个值,那么其余 3 个外边距都由这个值(上外边距)复制获得。
利用这个简单的机制,您只需指定必要的值,而没必要所有都应用 4 个值,例如:
h1 {margin: 0.25em 1em 0.5em;} /* 等价于 0.25em 1em 0.5em 1em */
h2 {margin: 0.5em 1em;} /* 等价于 0.5em 1em 0.5em 1em */
p {margin: 1px;} /* 等价于 1px 1px 1px 1px */
这种办法有一个小缺点,您最后确定会遇到这个问题。假设但愿把 p 元素的上外边距和左外边距设置为 20 像素,下外边距和右外边距设置为 30 像素。在这种状况下,必须写做:
p {margin: 20px 30px 30px 20px;}
这样才能获得您想要的结果。遗憾的是,在这种状况下,所需值的个数没有办法更少了。
再来看另一个例子。若是但愿除了左外边距之外全部其余外边距都是 auto(左外边距是 20px):
p {margin: auto auto auto 20px;}
一样的,这样才能获得你想要的效果。问题在于,键入这些 auto 有些麻烦。若是您只是但愿控制元素单边上的外边距,请使用单边外边距属性。
您可使用单边外边距属性为元素单边上的外边距设置值。假设您但愿把 p 元素的左外边距设置为 20px。没必要使用 margin(须要键入不少 auto),而是能够采用如下方法:
p {margin-left: 20px;}
您可使用下列任何一个属性来只设置相应上的外边距,而不会直接影响全部其余外边距:
一个规则中可使用多个这种单边属性,例如:
h2 {
margin-top: 20px;
margin-right: 30px;
margin-bottom: 30px;
margin-left: 20px;
}
固然,对于这种状况,使用 margin 可能更容易一些:
p {margin: 20px 30px 30px 20px;}
不论使用单边属性仍是使用 margin,获得的结果都同样。通常来讲,若是但愿为多个边设置外边距,使用 margin 会更容易一些。不过,从文档显示的角度看,实际上使用哪一种方法都不重要,因此应该选择对本身来讲更容易的一种方法。
提示:Netscape 和 IE 对 body 标签订义的默认边距(margin)值是 8px。而 Opera 不是这样。相反地,Opera 将内部填充(padding)的默认值定义为 8px,所以若是但愿对整个网站的边缘部分进行调整,并将之正确显示于 Opera 中,那么必须对 body 的 padding 进行自定义。
本例演示如何设置文本的左外边距。
本例演示如何设置文本的右外边距。
本例演示如何设置文本的上外边距。
本例演示如何设置文本的下外边距。
本例演示如何将全部的外边距属性设置于一个声明中。
属性 |
描述 |
简写属性。在一个声明中设置全部外边距属性。 |
|
设置元素的下外边距。 |
|
设置元素的左外边距。 |
|
设置元素的右外边距。 |
|
设置元素的上外边距。 |