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

一、在上下结构的div布局中,可能出现div覆盖div,但是内容却没有出现覆盖的现象。看看一个示例

   1: <!DOCTYPE html>
   2: <html>
   3: <head>
   4: <title>DIV与DIV覆盖</title>
   5: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   6: <style>
   7: .boxa,.boxb{ margin:0 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 #000; height:40px; background:#999}
  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>

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

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

问题解决办法,测试有三种:

1、给boxa添加一个height属性,height的值必须大于或等于baxa-l的高度

   1: <div class="boxa" style="height:81px;">

2、清除浮动

在“.boxa”盒子</div>闭合前加clear样式清除浮动。

   1: //css
   2: .clear{ clear:both}
   3:
   4: //修改boxa
   5: <div class="boxa">
   6:     <div class="boxa-l">内容左</div>
   7:     <div class="boxa-r">内容右</div>
   8:     <div class="clear"></div>
   9: </div>

或者在boxb上清除浮动

   1: <div class="boxb" style="clear:both">boxb盒子里的内容</div>

3、对“.boxa”添加overflow:hidden

   1: <div class="boxa" style="overflow:hidden">
   2:     <div class="boxa-l">内容左</div>
   3:     <div class="boxa-r">内容右</div>
   4:  </div>

二、相邻两个DIV重叠覆盖

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

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

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

解决方法:

1、都不使用浮动,去掉.bb中的float,效果如下

2、都使用浮动,给.cc添加float:left,效果如下

3、对没有使用float浮动的DIV设置margin样式。给.cc添加margin:100px,效果如下

来源:http://www.ido321.com/669.html

时间: 2024-10-26 15:06:20

怎么解决div覆盖内容却没覆盖的问题?的相关文章

iOS7 NavigationBar覆盖内容解决

//判断设备是否4寸屏幕 #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) //判断设备是否iOS7 #define IOS7   ( [[[UIDevice currentDevice] systemVersi

cat 追加、覆盖内容

1.cat向文件覆盖内容 cat > local.repo << EOF [local]name=localbaseurl=file:///mnt/cdromgpgcheck=0enabled=1EOF 2.cat向文件追加内容 cat >> local.repo << EOF[local]name=localbaseurl=file:///mnt/cdromgpgcheck=0enabled=1EOF 原文地址:https://www.cnblogs.com/e

解决div里面img的缝隙问题~

解决div里面img的缝隙问题 图片IMG与容器下边界之间有空隙怎么办?这里介绍3中简单的解决方法. 第一,给图片img标签display:block. img{display:block} 第二,定义容器里的字体大小为0. div { width:110px; border:1px solid #000000; font-size:0 } 第三,定义图片img标签vertical-align:bottom,vertical-align:middle,vertical-align:top img

CSS: 解决Div float后,父Div无法高度自适应的问题

在用CSS+DIV的布局中,经常会发现,当一个DIV float之后,如果他的高度超过了其父DIV的高度时,其父DIV的高度并不会相应的进行调整.要解决这个问题(也叫做闭合(清除)浮动),我们有四种办法: 1. 额外标签法 这种方法就是向父容器的末尾再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器.这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签.我个人比较喜欢这种方法,因为它简单.实用.浏览器兼容性好,而且这种方法也是W3C推荐的方法 <div

解决javaassist 出现的类没找到异常ClassNotFoundException,获取工程下任意class对象

项目中要对工程下任意class文件进行解析,但是使用javaassist中经常出现类没找到异常.当然最主要的还是ClassPool()没找到这东西,而搜索范围是整个项目的class, 所以就做了一个处理,通过,项目下的classpath这个文件,获取所有jar路径在,再通过文件递归搜索获取所有java编译后的class文件路径,将所有路径都添加到对象池中.当然这一步是很费时的,所以最好只初始化一次. /*** * * 静态存储 */ private static ClassPool pool;

让2个并列的div根据内容自动保持同等高度js

有左右2个并列的div,2个div都不能限定高度.左div为导航,右div为内容.如何能让左div块自动获得和右div块相等的高度? 同时,也有网友提问到“如果右块高度比左块低,会不会导致左块的内容被溢出不显示之类的问题.应该是取左右2者的最高值吧来对齐吧”. 的确应该是哪个div Height值大,就将其值赋给Height值小的div,从而使2个div高度始终保持一致. function $(id){ return document.getElementById(id) } function

解决div嵌套时IE8和FF无法自适应高度

解决div嵌套时IE8和FF无法自适应高度 还是做类似新浪评论回复的时候,将回复的DIV嵌套在一个DIV中,然后点击回复的时候显示子DIV,这是父DIV的高度是会变化的,于是我将父DIV的高度设置为height:auto;可是问题就出现了,在IE6和IE7下父DIV的高度可以自适应而在IE8和FF下却不可以,于是我开始在网上搜索,嘿嘿,现在的网络知识共享真好,让我找到解决办法了! 在父DIV的CSS中添加两个属性值 clear:both; overflow:auto; OK啦!希望对遇到同样问题

解决div相对定位移动后的空白

解决方法:用margin-top:-100px 解决div相对定位移动后的空白,布布扣,bubuko.com

室内无线覆盖与室外无线覆盖应用的具体选择。

各位做无线覆盖的工程的亲,今天给和大家讲讲室内无线覆盖和室外无线覆盖. 无线网络覆盖主要有三种不同类型的覆盖方案,一类为纯室内的解决方案,一类为纯室外的解决方案,一类为室内+室外的解决方案无线网络覆盖,选择不同的覆盖策略,会导致截然不同的网络投资.覆盖效果.工程难度和网络质量.因为WiFi频率只有3个不干扰的无线信道,如果使用众多的无线路由器,会因为无线路由器相互的同频干扰,导致无线信号不稳定,网速低.选择合理的无线覆盖方案,可以保证无线网络服务质量.同时减少设备投入,尽快收回成本获得收益.一.