IE overflow:hidden失效的解决方法

(编辑:jimmy 日期: 2024/12/30 浏览:2)

overflow:hidden失效
当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效。
我们在IE 6内发现子元素会超出父元素设定的高度,即使父元素设置了overflow:hidden。
解决这个bug很简单,在父元素中使用position:relative;即可解决该bug

我的办法:子元素设置绝对定位,父元素相对定位,这样overflow:hidden就不会失效了。

IE下CSS溢出隐藏失败(IE overflow:hidden失效)

复制代码代码如下:
<div id="slides-pic">
<div>
<p class="hot" >
<a class="hot-2" href="http://www.kaluli.com/category.php?sort=3&cat=92&category=71&display=grid&brand=0&price_min=0&price_max=0&sex=&material=&color=&pro_size=&filter_attr=&page=1" target="_blank"><img src="/UploadFiles/2021-03-30/slide_2.gif"><p class="main" ><a href="http://www.kaluli.com/goods9084.htm" target="_blank"><img src="/UploadFiles/2021-03-30/slide_3.gif"></div>
<div>
<a href="css-112.jpg" target="_blank">
<img src="/UploadFiles/2021-03-30/slide2.jpg"></a>
</div>
<div>
<a href="css-112.jpg" target="_blank">
<img src="/UploadFiles/2021-03-30/slide2.jpg"></a>
</div>
<div>
<p class="hot" ><a class="hot-1" style="clear:both" href=""><img src="/UploadFiles/2021-03-30/slide_1.gif"><a class="hot-2" href=""><img src="images/slide_2.gif"><p class="main" ><a href=""><img src="/UploadFiles/2021-03-30/slide_3.gif"></div>
</div>

kaluli新版首页的slide项目中出现了一个问题,在FireFox下显示正常,但是在IE下所有图片都显示出来,不能实现溢出隐藏。后来搜到是 <div id=”slides-pic”>的子节点<div>的问题,这个节点中使用了position:relative造成显示异常,解决办法是在父节点容器 中也加一个position:relative。

position的相对和绝对应一起搭配起来才比较合适,不然会出现莫名其妙的问题。另:position和float在IE6下是无法一起使用的,所以有时候会hidden失效。