css的margin省略规则
css的margin省略规则
使用margin属性是用来设置对象四边的外边距,如果提供全部四个参数,将按上-右-下-左的顺序作用于四边,即:
margin-top
margin-right
margin-bottom
margin-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)得到。最后,如果只给出了一个值,那么将被复制到其他三个。
举三个例子你应该更加清楚了:
-
b {margin:10px;}
和b {margin:10px 10px 10px 10px;}
是等价的; -
b {margin:10px 5px;}
和b {margin:10px 5px 10px 5px;}
是等价的; -
b {margin: 5px 3px 4px;}
和b {margin:5px 3px 4px 3px;}
是等价的;
有了这些原则的指引之后,我想你在编写css的时候头脑中对于margin属性中参数的省略的思路应该更加清晰了吧!
Original resource:Click here
- 分类:
- Web前端
相关文章
《浏览器工作原理与实践》笔记之CSS、JS阻塞DOM合成场景分析
当从服务器接收HTML页面的第一批数据时,DOM解析器就开始工作了。 我们先看第一种情况在解析过程中,如果遇到了JS脚本,如下所示: <html> <body&g 阅读更多…
前端如何用一行代码将网站置灰
在悲伤的日子里,很多大型网站会把网站整体置灰,或者把首页置灰,怎么做到的呢,肯定不是一个一个来设置,只用在外层容器上加个css即可。 html { filter: grayscale( 阅读更多…
用div+css模拟类excel表格对角线(斜线)
我们先看html代码吧 <table> <caption>用div+css模拟类excel表格对角线(斜线)</caption> <t 阅读更多…