IE overflow:hidden失效的解决方法

当前位置 : 首页 > 网页制作 > CSS > IE overflow:hidden失效的解决方法

IE overflow:hidden失效的解决方法

来源: 作者: 时间:2015-11-23 09:27
position和float是两种布局模式,在IE6下共用有时会导致用position定位的元素节点消失。绝对定位的元素节点是参照离它最近的已定位元素,所以父节点定位relative、子节点定位absolute是很常
position和float是两种布局模式,在IE6下共用有时会导致用position定位的元素节点消失。绝对定位的元素节点是参照离它最近的已定位元素,所以父节点定位relative、子节点定位absolute是很常见的。
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="images/slide_2.gif" /></a></p>
<p class="main" ><a href="http://www.kaluli.com/goods9084.htm" target="_blank"><img src="images/slide_3.gif" /></a></p>
</div>
<div>
<a href="css-112.jpg" target="_blank">
<img src="images/slide2.jpg" title="" alt="这是第二张图片" />
</a>
</div>
<div>
<a 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" href=""><img src="images/slide_1.gif" /></a>
<a class="hot-2" href=""><img src="images/slide_2.gif" /></a></p>
<p class="main" ><a 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失效。
Tag:
网友评论

<