本文和大家重点讨论一下CSS中margin属性的解析逻辑,margin在中文中我们翻译成外边距或者外补白(本文中引用外边距)。它是元素盒模型(boxmodel)的基础属性,可以用来设置box的margin area。
目前创新互联已为近千家的企业提供了网站建设、域名、雅安服务器托管、成都网站托管、企业网站设计、江南网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
CSS中margin属性由浅入深详解
margin在中文中我们翻译成外边距或者外补白(本文中引用外边距)。他是元素盒模型(boxmodel)的基础属性。
margin属性包括margin-top,margin-right,margin-bottom,margin-left,margin,可以用来设置box的marginarea。属性margin可以用来同时设置box的四边外边距,而其他的margin属性只能设置其自各的外边距。
CSS属性margin的解析逻辑
目前我们已经了解到了margin的基本特性和基本写法,但对元素margin的基本解析逻辑还是很模糊,到底margin的top、right、bottom、left都是以什么为基准来促使boxmodel形成。为了形象,易懂的对margin的逻辑进行说明,下面讲解的过程中,将引入W3C上没有的参考线的说法。何谓参考线?参考线就是margin移动的基准点,此基准点相对于box是静止的。而margin的数值,就是box相对于参考线的位移量。
在margin中top、right、bottom、left的参考线并不一致为一类,而是分为了两类参考线,top和left的参考线属于一类,right和bottom的参考线属于另一类。那他们到底各以什么为参考线呢?top以containingblock的content上边或者垂直上方相连元素margin的下边为参考线垂直向下位移;left以containingblock的content左边或者水平左方相连元素margin的右边为参考线水平向右位移。right以元素本身的border右边为参考线水平向右位移;bottom以元素本身的border下边为参考线垂直向下位移。从上我们可以看到top和left都是以外元素为参考,而right和bottom以本元素为参考。上面的位移方向是指margin数值为正值时候的情形,如果是负值则位移方向相反。
或许理论听起来比较枯燥,我们举例说明一下:
ExampleSourceCode
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
无标题文档 - div{width:200px;height:200px;background:#ccc;}
外边距的margin-width的值类型有:auto|length|percentage