css中margin参数省略的原则

使用margin属性是用来设置对象四边的外边距,如果提供全部四个参数,将按上-右-下-左的顺序作用于四边,即:

margin:{top right bottom left;}

记住这个模式的好的途径是:这4个值从元素顶端开始,顺时针围绕元素。值总是按照这个顺序被使用,因此若想得到预期的效果,必须正确地排序它们。

 

为什么会省略?

有时,为margin输入的值有些重复:

 

p{margin:0.25em 1em 0.25em 1em;}

为了那些懒人少输入这些烦人的代码(不知道这是否是初衷,但肯定有这样的懒人),或许更实际的些是为了减小css文件的字节数,以减小带宽占用,节省经济支出,w3c的成员们想出了更简单的替代方法,不必这样重复输入一对值,可以用下面的标记来代替它:

 

p{margin:0.25em 1em;}

这样的两个值足以代替那四个值,是怎么做的呢?

省略原则

css定义了几个步骤以接收少于四个的margin参数:

1.如果没有left值,则使用right代替。
2.如果没有bottom值,则使用top代替。
3.如果没有right值,则使用top值代替。

换句话来说,如果给margin赋了三个值,则第四个(left)由复制第二个(right)得到。如果给出了两个,则第四个由复制第二个得到,第三个(bottom)由复制第一个(top)得到。最后,如果只给出了一个值,那么将被复制到其他三个。

假如更喜欢直观的说明,请看如下所示的图解。

举三个例子你应该更加清楚了:

1. b {margin:10px;} 和 b {margin:10px 10px 10px 10px;}是等价的;
2. b {margin:10px 5px;} 和 b {margin:10px 5px 10px 5px;}是等价的;
3. b {margin: 5px 3px 4px;}和 b {margin:5px 3px 4px 3px;}是等价的;

有了这些原则的指引之后,我想你在编写css的时候头脑中对于margin属性中参数的省略的思路应该更加清晰了吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值