div覆盖div,出现div与div盒子之间产生重叠覆盖现象,而内容没有出现覆盖重叠现象原因与解决方法。DIVCSS5通过CSS图文案例介绍产生原因与解决方法。DIV与DIV覆盖原因与解决方法。

  可能您遇到过上下结构的布局,下面DIV内容重叠上面DIV内容上,也可能下面内容覆盖掉上面DIV布局,形成DIV与DIV覆盖重叠现象;您也可能遇到过相邻的两个DIV盒子发生重叠覆盖现象,这些是什么问题如何解决?

  接下来DIVCSS5通过案例来演示这两种兼容性DIV覆盖重叠现象问题,并解释原因与解决方法。

  一、上下结构DIV盒子覆盖 - TOP

  1、首先网站DIV CSS实例HTML代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>DIVCSS5实例 DIV与DIV覆盖</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <style>
  7. .boxa,.boxb{ margin: auto; width:400px;}
  8. .boxa-l{ float:left; width:280px; height:80px; border:1px solid #F00}
  9. .boxa-r{ float:right; width:100px; height:80px; border:1px solid #F00}
  10. .boxb{ border:1px solid #; height:40px; background:#}
  11. </style>
  12. </head>
  13. <body>
  14. <div class="boxa">
  15. <div class="boxa-l">内容左</div>
  16. <div class="boxa-r">内容右</div>
  17. </div>
  18. <div class="boxb">boxb盒子里的内容</div>
  19. </body>
  20. </html>

内容左
内容右
boxb盒子里的内容

  可拷贝代码自己动手发现DIV覆盖现象。

  实例代码说明:

  设置两个大div盒子分别CSS命名为“.boxa”和“.boxb”,设置宽度相同均为400px,对“.boxb”设置一个黑色边框与高为40px、背景为黑色的;然后在boxa里添加两个一个靠左一个靠右CSS命名分别为“.boxa-l”“.boxa-r”,两个小盒子,同时设置红色边框、css高为80px、宽度分别为280px和100px。

  2、实例效果截图

  代码在DW软件中,效果浏览器截图

  3、问题分析

  一般想需要将“.boxa”和“.boxb”布局是上下结构,从上图发现在浏览器中看到效果是两个盒子里内容是实现上下结构效果,但“.boxb”这个DIV跑到“.boxa”下面去了,但内容没有发生覆盖,只有DIV发生覆盖现象。

  这个原因是因为第一个大盒子里的子级使用了浮动float属性而产生了浮动,所以导致“.boxa”没有被撑开,而同级的“.boxb”盒子与“.boxa”紧贴,而“.boxa”高度没有,“.boxa”的子级浮动的与“.boxb”不是同级,“.boxb”盒子依然认为“.boxa”没有高度,所以导致“.boxb”DIV盒子就跑到“.boxa”子级DIV盒子下面形成了覆盖重叠现象。

  4、问题解决方法

  要么清除浮动,要么设置“.boxa”高度,一般情况下文字内容不确定多少 就不能设置固定的高度,所以一般不能设置“.boxa”高度(当然能确定内容多高,这种情况下“.boxa”是可以设置一个高度即可解决覆盖问题。)。

  这里就使用CSS清除浮动方法解决上下结构DIV重叠覆盖问题,清除浮动有两种方法,方法如下。

  4-1:css clear清除浮动

  在“.boxa”盒子

闭合前加clear样式清除浮动。

  完整HTML源代码:

内容左
内容右
boxb盒子里的内容

  案例截图

  

  使用clear样式清除浮动

  相关CSS教程文章:

  css clear清除浮动

  4-2:css overflow清除浮动

  此方法与上一方法更为简便简单,只需对“.boxa”(子级有浮动的父级盒子加overflow:hidden)

  CSS DIV实例代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>DIVCSS5实例 DIV与DIV覆盖</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <style>
  7. .boxa{ overflow:hidden}
  8. .boxa,.boxb{ margin: auto; width:400px;}
  9. .boxa-l{ float:left; width:280px; height:80px; border:1px solid #F00}
  10. .boxa-r{ float:right; width:100px; height:80px; border:1px solid #F00}
  11. .boxb{ border:1px solid #; height:40px; background:#}
  12. </style>
  13. </head>
  14. <body>
  15. <div class="boxa">
  16. <div class="boxa-l">内容左</div>
  17. <div class="boxa-r">内容右</div>
  18. </div>
  19. <div class="boxb">boxb盒子里的内容</div>
  20. </body>
  21. </html>

  DIV+CSS案例效果截图

  加css overflow样式解决div重叠覆盖问题

  相关CSS教程:

  css清除浮动

  二、相邻两个DIV重叠覆盖 - TOP

  这种新手出现这种问题比较多,一般是由于相邻两个DIV一个使用浮动一个没有使用浮动,这样照成两个DIV覆盖重叠现象。

  1、出问题完整CSS+DIV代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>DIVCSS5实例 DIV与DIV覆盖</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <style>
  7. .aa{ float:left; border:1px solid #; background:#FFF;height:50px;}
  8. .bb{ border:1px solid #F00;background:#CCC; height:80px}
  9. </style>
  10. </head>
  11. <body>
  12. <div class="aa">我是aa里内容</div>
  13. <div class="bb">我是BB里内容</div>
  14. </body>
  15. </html>

介绍代码:设置两个盒子使用class命名分别为“.aa”和“.bb”,一个设置float:left一个设置没有设置,一个设置背景为白色,一个设置背景颜色为灰色,一个高度设置50px,一个设置高度为80px,一个边框为黑色,一个边框为红色。

  2、案例效果截图

  

  DIV与DIV覆盖案例截图

  3、问题分析

  从上图或浏览器测试案例可以看出,“.aa”对应DIV盒子浮动覆盖在“.bb”对应DIV盒子之上,但内容没有覆盖,这是因为“.aa”对应DIV盒子使用了浮动,而同级“.bb”对应DIV盒子没有使用浮动,一个使用浮动一个没有导致DIV不是在同个“平面”上,但内容不会照成覆盖现象,只有DIV形成覆盖现象。

  4、解决方法

  要么都不使用浮动;要么都使用float浮动;要么对没有使用float浮动的DIV设置margin样式。

  比如这里“.aa”对应盒子会固定宽度为300px;这个使用对“.bb”对应盒子设置margin-left:302px(大于300即可,自己测试设置需要的值)实现不重叠覆盖现象。这个解决方法自己在此案例基础上进行设置即可,针对DIVCSS5的VIP会员,可以随时问DIVCSS5,DIVCSS5将给予更详细讲解与介绍。

div覆盖div DIV相互重叠如何解决的更多相关文章

  1. 怎么解决div覆盖内容却没覆盖的问题?

    一.在上下结构的div布局中,可能出现div覆盖div,但是内容却没有出现覆盖的现象.看看一个示例 1: <!DOCTYPE html> 2: <html> 3: <he ...

  2. ie7下div覆盖在iframe上方,ie8就不行,怎么解决

    <div style="position:relative;display:inline-block;width:178px;height:90px;z-index:9999;top: ...

  3. object覆盖的div解决办法

    最近做个web项目,因为里面有个<object>的插件,弹出<div>对话框会被其遮盖,我做了个<iframe>标签,在弹框时,把<object>覆盖掉 ...

  4. CSS中div覆盖另一个div

    将一个div覆盖在另一个div上有两种手段:一是设置margin为负值,二是设置绝对定位. 可以根个人情况设置z-index的值 1->position 为absolute的情况 <htm ...

  5. div+css常见浏览器兼容问题以及解决办法

    1.图片下方出现几像素的空白间隙问题说明:这个问题在ie6和ff(火狐)下经常见到,例如 <div><img src=""/></div>这个图 ...

  6. DIV布局之道三:DIV块的覆盖,DIV层遮盖其他DIV

    DIV布局网页的第三种方式:覆盖.DIV覆盖方式经常应用于网页弹出框的制作,例如在网店系统中,当用户没有登录时,点击购买,系统弹出一个登陆框. 请看代码: HTML部分: XML/HTML Code复 ...

  7. JaveWeb 公司项目(1)----- 使Div覆盖另一个Div完成切换效果

    最近在做网页,用的是CSS+DIV的布局方法,搭建了一个简易的界面,大体上分为三个部分,如图所示: 左侧的为主功能导航栏,右侧是具体的功能实现,下方是固定的版权声明,单击左边不同的导航按钮,在div中 ...

  8. 如何让div覆盖canvas元素

    第一步 请让该div和canvas同样处于同一画布,都用position:absolute; 然后设置canvas的z-index="-1",是的,你没看错 然后把要覆盖canva ...

  9. DIV+CSS布局中自适应高度的解决方法

    div乱跑问题  (文件<DIV+CSS布局中自适应高度的解决方法.rar>)   float 是个很危险的东西 得小心使用 本来有一很好的关于CSS+DIV的论坛 不过现在关门了 甚是可 ...

随机推荐

  1. html选择器[获取兄弟(同级元素)]

    1.html <div class="col-md-5"> <h4 class="m-t-md" id="dwzh"> ...

  2. 第十四章 Odoo 12开发之部署和维护生产实例

    本文中将学习将 Odoo 服务器作为生产环境的基本准备.安装和维护服务器是一个复杂的话题,应该由专业人员完成.本文中所学习的不足以保证普通用户创建应对包含敏感数据和服务的健壮.安全环境. 本文旨在介绍 ...

  3. 第七章 Odoo 12开发之记录集 - 使用模型数据

    在上一篇文章中,我们概览了模型创建以及如何从模型中载入和导出数据.现在我们已有数据模型和相关数据,是时候学习如何编程与其进行交互 了.模型的 ORM(Object-Relational Mapping ...

  4. COGS 2479. [HZOI 2016] 偏序 (CDQ套CDQ)

    传送门 解题思路 四维偏序问题,模仿三维偏序,第一维排序,第二维CDQ,最后剩下二元组,发现没办法处理,就继续嵌套CDQ分治.首先把二元组的左右两边分别打上不同的标记,因为统计答案时只统计左边对右边的 ...

  5. 修改数组中对象的key值

    遇见场景:echart图表中后台返回我的数据,后台无法修改key值,但是echart渲染图表的时候,需要用 var m2R2Data= [ {value:335,name:"种类01 335 ...

  6. 一个Js开发者学习Python的第一天

    原文地址:小寒的博客 https://www.dodoblog.cn/blogs/5bf6b8fa0c09883d0f8aad13 作为一个有着足足两年半学习经验和一年半开发经验的js开发者,看着js ...

  7. eclipse安装m2e

    Installation You can install last M2Eclipse release by using the following update site from within E ...

  8. WhaleCTF之隐写-Find

    WhaleCTF之隐写-Find 前往题目 图片保存到本地,用Stegsolve打开图片 找到二维码 用微信或qq扫描,得到flag~

  9. idea怎么打war包

    1.上方导航栏粥找到 Buid——> Bild Artifacts... 2.弹出框中选择 3.war包打好啦,一般放在编译的 target目录下

  10. ArrayBlockingQueue的使用案例:

    ArrayBlockingQueue的介绍: ArrayBlockingQueue,顾名思义:基于数组的阻塞队列.数组是要指定长度的,所以使用ArrayBlockingQueue时必须指定长度,也就是 ...