CSS外边距

围绕在元素边框的空白区域是外边距。设置外边距会在元素外创建额外的“空白”

设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位、百分数值甚至负值。

CSS margin 属性

设置外边距的最简单的方法就是使用 margin 属性。

margin 属性接受任何长度单位,可以是像素、英寸、毫米或em。

margin 可以设置为 atuo 。更常见的做法是为外边距设置长度值。下面的声明在h1元素的各个边上设置了1/4英寸的空白:

下面的例子为 h1 元素的四个边分别定义了不同的外边距,所使用的长度单位是像素(px):

与内边距的设置相同,这些值的顺序是从上外边距(top)开始围着元素顺时针旋转的:

另外,还可以为margin设置一个百分比的数值:

百分数是相对于父元素的width计算的。上面这个例子为p元素设置的外边距是其父元素的10%。

margin的默认值是0,所以如果没有为margin声明一个值,就不会出现外边距。但是,在实际中,浏览器对许多元素已经提供了预定的样式,外边距也不例外。例如,在支持CSS的浏览器中,外边聚会在每个段落元素的上面和下面生成“空行”。因此,如果没有为p元素声明外边距,浏览器可能会自己应用一个外边距。当然,只要你特别作了声明,就会覆盖默认样式。

值复制

有事,我们会输入一些重复的值:

通过值复制,你可以不必重复地键入这个数字。上面的规则与下面的规则是等价的:

这两个值可以取代前面四个值。这是如何做到的呢?

CSS定义了一些规则,允许为外边距指定少于四个值。规则如下:

  1. 如果缺少左外边距的值,则使用右外边距的值。
  2. 如果缺少下外边距的值,则使用上外边距的值。
  3. 如果缺少右外边距的值,则使用上外边距的值。

下图提供了更直观的方法来了解这一点:

换句话说,如果为外边距指定了三个值,则第四个值(即做外边距)会从第二个值(右外边距)复制得到。如果给定了两个值,第四个值会从第二个值复制得到,第三个值(下外边距)会从第一个值(上外边距)复制得到。最后一种情况,如果只给定一个值,那么其他三个外边距都由这个值(上外边距)复制得到。

利用这个简单的机制,你只需要指定必要的值,而不必全部都应用四个值,例如:

这种办法有一个小缺点,你最后肯定会遇到这个问题。假设希望把p元素的上外边距和左外边距设置为20像素,下外边距和右外边距设置为30像素。在这种情况下,必须写作:

这样才能得到你想要的结果。遗憾的是,在这种情况下,所需值的个数没有办法更少了。

在来看另外一个例子。如果希望除了左外边距以外所有其他外边距都是auto(左外边距是20px):

同样的,这样才能的到你想要的效果。问题在于,键入这些auto有些麻烦。如果你只是希望控制元素单边上的外边距,请使用单边外边距属性。

单边外边距属性

你可以使用单边外边距属性为元素单边上的外边距设置值。假如你希望把p元素的左外边距设置外20px。不必使用margin(需要键入很多auto),而是可以采用以下方法:

你可以使用下列任何一个属性来设置响应上的外边距,而不会直接影响所有其他外边距:

  1. margin-top
  2. margin-right
  3. margin-bottom
  4. margin-left

一个规则中可以使用多个这种单边属性,例如:

当然,对于这种情况,使用margin 可能更容易一些:

不论使用单边属性还是使用margin,得到的结果都是一样的。一般来说,如果希望为多个边设置外边距,使用margin会更容易一些。不过,从文档显示的角度看,实际上使用哪种方法都不重要,所以应该选择对自己来说更容易的一种方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值