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

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

为什么会省略?有时,为margin输入的值有些重复:

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

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

p{: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属性中参数的省略的思路应该更加清晰了吧!

Original resource:Click here

随机文章

java双缓冲技术
java双缓冲技术

微软针对windows7用户发布IE10
微软针对windows7用户发布IE10

采用Intel HAXM对模拟器进行加速
采用Intel HAXM对模拟器进行加速

用java swing画直升飞机
用java swing画直升飞机

相关文章

wordpress上传图片失败解决方案
wordpress上传图片失败解决方案

AngularJS的controllerAs常见用法
AngularJS的controllerAs常见用法

Java基础第六讲:流程控制(二)
Java基础第六讲:流程控制(二)

事实证明百度收录道招网内容神速
事实证明百度收录道招网内容神速

115用户页面改版
115用户页面改版

内容分享:道招
本文链接:css的margin省略规则
道招声明:除特别标注或作者不详外,本站所有文章均为原创,转载请注明。欢迎共同关注互联网!