一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

css ie6、ie7、ie8中overflow:hidden无效解决办法

时间:2012-03-05 编辑:简简单单 来源:一聚教程网

产生原因:

当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效。

解决办法:

我们在IE 6内发现子元素会超出父元素设定的高度,即使父元素设置了overflow:hidden。
解决这个bug很简单,在父元素中使用position:relative;即可解决该bug


ie7和ie6

发现在ie6和ie7里面overflow:hidden无效,还是会超出外层div

后来在外层div上面加上position:relative就解决了

暂时加*号hack掉吧,有时间再研究一下到底是什么原因导致的问题

好了,问题都说了,下面来看我解决我的实例吧。

ie6 ie7 ie8都有问题的解决办法。

是不是发现了问题,下面看看我的代码

 代码如下 复制代码

 

 

     

  •   

       

        


         
          

         
        


       

      

     

  •   .........
     

 

css 代码如下

 代码如下 复制代码

.album { display: block; }
.album .thumb { width: 100%; overflow: hidden; height: 62px;}
.album .thumb ul {margin: 0; padding: 0; width: 310px; height: 62px; overflow: hidden; display: block; }
.album .thumb ul li { float: left; margin: 5px 5px 5px 0px; list-style: none; }


一开始单独拿出这段代码发现没有问题,认为是上下影响导致的,但不是,几经波折,发现是设定overflow:hidden层里有定位标签的问题。最后终于搞定。

解决方案:只需要在设定overflow:hidden层加入定位即可。如在 .album .thumb ul中加入

 代码如下 复制代码
{position:relative;left:0px;top:0px;}

即可


哈哈,终于搞定了,不过我们以前还真没仔细看这个问题,保留希望有需要的朋友可以参考一下。

 

热门栏目