margin-top和margin-bottom会合并的条件

在进行css样式编写时,上下两个div设置margin-top与margin-bottom时会出现两种情况。一种是margin-top与margin-bottom会合并,值为两者较大的那一个,另一种情况是两者值的叠加,那么这两者都放生在什么条件下呢,请看下面:

  1. 水平情况下margin不会合并。

  2. 两个上下渲染相邻(不一定是兄弟节点)的块状元素在正常页面流情况下会发生 margin 合并。

  3. 浮动元素不会和任何元素(包括子孙节点)发生 margin 合并。

  4. overflow!=visible的元素不和任何元素发生margin合并。

  5. 绝对定位的元素不和任何元素发生margin合并。

  6. inline-block 的元素不和任何元素发生margin合并。

  7. 设置 clear 属性的元素不和任何元素发生margin合并。

  8. 根元素不和任何元素发生margin合并。

  9. 父节点和第一个子节点发生margin-top合并。

  10. 如果最后一个子节点没有border以及padding,则和其父节点发生margin-bottom合并。

注意IE!特别是hasLayout对于margin合并也有影响,从而也造成了包含的绝对定位元素的位置差异。

借鉴于https://www.cnblogs.com/liu-l/articles/3887576.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值