margin在文档流和浮动中的区别


CSS盒模型中的margin我们是否真的了解?我们是否知道margin在文档流和浮动中的区别?

    要想了解margin的原理,需要先了解一下什么是参考线。关于参考线请参考http://www.planabc.net/2007/03/18/css_attribute_margin/

    知道了参考线之后,我们可以很好的理解如下代码:

    CSS:

[css]  view plain  copy
  1. .container{  
  2.     width:300px;   
  3.     height:300px;   
  4.     background:black;  
  5. }  
  6.       
  7. .inner{  
  8.     width:100px;   
  9.     height:100px;   
  10.     background:red;  
  11. }  
     HTML:

[html]  view plain  copy
  1. <div class="container">  
  2.     <div class="inner"></div>  
  3. </div>  

    

    如果给.inner设置margin-left的话红色div肯定会左右移动(根据margin-left正负来决定是左还是右),而设置margin-right的话红色div不会移动。

    但以上都是margin在文档流中的表现,如果红色div是浮动的呢?比如设置红色div向右浮动。


    这个时候如果给红色div设置margin会怎么样?

    如果设置margin-right的话,红色div会左右移动(根据margin-right是正负来决定是左还是右),而设置margin-left的话,红色div不会移动。

    同样我们可以测试如果红色div是向左浮动的情况。

    测试后,我们可以得出结论:

    在浮动状态下,如果margin设置的方向和浮动方向相同,那么浮动元素发移动;如果margin设置的方向和浮动方向相反,浮动元素不移动。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值