IE overflow:hidden失效的如何解决方法

很多时候,不快乐不是因为幸福的条件不完整,而是因为生活不容易。一个人只拥有此生此世是不够的,他还应当拥有着诗意的世界。
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" rel="nofollow noopener noreferrer" 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="images/slide_2.gif" /></a></p>
<p class="main" ><a rel="nofollow noopener noreferrer" href="http://www.kaluli.com/goods9084.htm" target="_blank"><img src="images/slide_3.gif" /></a></p>
</div>
<div>
<a rel="nofollow noopener noreferrer" href="css-112.jpg" target="_blank">
<img src="images/slide2.jpg" title="" alt="这是第二张图片" />
</a>
</div>
<div>
<a rel="nofollow noopener noreferrer" href="css-112.jpg" target="_blank">
<img src="images/slide2.jpg" title="" alt="这是第二张图片" />
</a>
</div>
<div>
<p class="hot" ><a class="hot-1" style="clear:both" rel="nofollow noopener noreferrer" href=""><img src="images/slide_1.gif" /></a>
<a class="hot-2" rel="nofollow noopener noreferrer" href=""><img src="images/slide_2.gif" /></a></p>
<p class="main" ><a rel="nofollow noopener noreferrer" href=""><img src="images/slide_3.gif" /></a></p>
</div>
</div>

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

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

本文IE overflow:hidden失效的如何解决方法到此结束。无需批评别人的书,因为要从书中吸收优点跟养分。小编再次感谢大家对我们的支持!

标签: 方法 overflow