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

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

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

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

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

    <!DOCTYPE html>
<html>
<head>
<title>DIVCSS5实例 DIV与DIV覆盖</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.boxa,.boxb{ margin: auto; width:400px;}
.boxa-l{ float:left; width:280px; height:80px; border:1px solid #F00}
.boxa-r{ float:right; width:100px; height:80px; border:1px solid #F00}
.boxb{ border:1px solid #; height:40px; background:#}
</style>
</head>
<body>
<div class="boxa">
<div class="boxa-l">内容左</div>
<div class="boxa-r">内容右</div>
</div>
<div class="boxb">boxb盒子里的内容</div>
</body>
</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实例代码如下:

    <!DOCTYPE html>
<html>
<head>
<title>DIVCSS5实例 DIV与DIV覆盖</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.boxa{ overflow:hidden}
.boxa,.boxb{ margin: auto; width:400px;}
.boxa-l{ float:left; width:280px; height:80px; border:1px solid #F00}
.boxa-r{ float:right; width:100px; height:80px; border:1px solid #F00}
.boxb{ border:1px solid #; height:40px; background:#}
</style>
</head>
<body>
<div class="boxa">
<div class="boxa-l">内容左</div>
<div class="boxa-r">内容右</div>
</div>
<div class="boxb">boxb盒子里的内容</div>
</body>
</html>

  DIV+CSS案例效果截图

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

  相关CSS教程:

  css清除浮动

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

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

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

    <!DOCTYPE html>
<html>
<head>
<title>DIVCSS5实例 DIV与DIV覆盖</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.aa{ float:left; border:1px solid #; background:#FFF;height:50px;}
.bb{ border:1px solid #F00;background:#CCC; height:80px}
</style>
</head>
<body>
<div class="aa">我是aa里内容</div>
<div class="bb">我是BB里内容</div>
</body>
</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将给予更详细讲解与介绍。

最新文章

  1. iOS $299刀企业证书申请的过程以及细节补充
  2. oracle的resetlogs机制浅析(转)
  3. transient关键字
  4. android中的AIDL进程间通信
  5. MOPSO 多目标例子群优化算法
  6. mysql INNODB_TRX 事务表
  7. jQuery链式操作
  8. Android中的一些基础知识(二)
  9. vim ---- 自己主动的按钮indent该命令
  10. Vim 基本配置和经常使用的命令
  11. jquery获得select的文本
  12. 第一章 自定义MVC框架
  13. hdu2196Computer 树形DP
  14. (2.1)mysql升级与降级
  15. java 之 dom4j解析xml
  16. 链栈的基本操作(C语言)
  17. [CTSC2008]网络管理(整体二分+树剖+树状数组)
  18. CoreData 多表 关联
  19. Maven的dependency scope属性
  20. [转帖]SQLSERVER2008R2 将于2019.7.9 结束支持服务 Windows server 2008r2 将于 2020.1.14 结束支持

热门文章

  1. leetccode-130-被围绕的区域
  2. 2016.10.4初中部下午NOIP普及组比赛总结
  3. bootStrap-treeview插件
  4. Python3.6爬虫+Djiago2.0+Mysql --运行djiago环境
  5. duilib教程之duilib入门简明教程3.第一个程序 Hello World
  6. Mysql修改表备注, 列信息
  7. tcp为什么要三次握手,四次挥手
  8. Origin使用自定义函数拟合曲线函数
  9. CheckBox自定义样式
  10. 小程序 设置tabBar选中颜色和图标