解决div相互覆盖层叠问题!

本文介绍了如何解决因float浮动和position绝对定位导致的div层叠覆盖问题,提出了清除浮动及“替死鬼”法等解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  当我们看到div相互层叠覆盖的时候,首先我们想到的是否有div脱离了文档流?其次我们在分析他们是通过什么方法脱离文档流的?
  目前,常见的脱离文档流的方法有position定位和float浮动两种!
  如果不知道什么是文档流的童鞋可以看看这个。
  
  1、如果这个div是通过float导致的脱离文档流的话,可以通过上面的div和下面的div之间插入清除浮动。

        <style>
            .clean{
                clear:both;
            }
        </style>

        <div class=""></div> //我是上面的div
        <div class="clean"></div>  
        <div class=""></div> //我是下面的div

  2、如果是position绝对定位(absolute)导致某个div脱离了文档流,从而使下面的div(即div2)和上面的div(div1)相互层叠了。那么,该如何解决呢?
  首先,切忌对下一个div使用position定位来解决问题,不然这就是一个坑!
  
  ①“替死鬼”法
  制作多一个div(即div3)来代替div2,使得这个新制作出来的div3来填补这个文档流的缺漏(为脱离文档流的div1填补)。
  不单单制作出来div3出来后就算了,还要设置他的高度height为div1的高度。这样子就好像恢复如初,回到最初的未改变文档流一样!(嘻嘻~,障眼法~)

  暂时就想到一个办法,后续想到会继续补充!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值