解决IE6,IE7不能隐藏(overflow:hidden)绝对定位溢出的内容

IE6/IE7下父元素有相对/绝对定位时,子元素在IE6和IE7下overflow:hidden;失效,下面与大家分享下导致以上问题发生的情况及解决方法

令人蛋疼的IE,IE6/IE7下父元素有相对/绝对定位时,子元素在IE6和IE7下overflow:hidden;失效。
情况一:(在parent上增加position:relative)

代码如下:

<style type="text/css">
.parent{ width:100px; height:100px;border:1px solid #f00; overflow:hidden; position:relative;}
.sonF{ position:relative;}
.son{ width:100px; height:100px; position:absolute; left:0;top:0;}
p{margin:0;padding:0;}
</style>
</head>
<body>
<div class="parent">
<div class="sonF">
<div class="son">
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>bbbb</p>
<p>bbbbb</p>
</div>
</div>
</div>

  情况二:(给son增加position:relative)

代码如下:

<style type="text/css">
.parent{ width:100px; height:100px; position:absolute; border:1px solid #f00;}
.son{ width:100px; height:100px;left:0;top:0; overflow:hidden; position:relative;}
p{margin:0;padding:0;}
</style>
<div class="parent">
<div class="son">
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
<p>aaaaaaaaaaaaaa</p>
</div>
</div>

  如下图:

如果.parent中的position设置为absolute也是如此。

终上所述:

哪个需要设置overflow;hidden,生效,就在哪个上面设置position:relative;

时间: 2024-07-31 14:33:10

解决IE6,IE7不能隐藏(overflow:hidden)绝对定位溢出的内容的相关文章

解决IE6 IE7 JSON.stringify JSON 未定义问题

在项目中引入json2.js 官方http://www.json.org/ 源码地址:https://github.com/douglascrockford/JSON-js $.ajax({ url: '/LicXXse/Add', contentType: "application/json; charset=utf-8", type: 'POST', data: JSON.stringify(PostData),//还是这样写即可 async: true, success: fun

兼容性—IE6/7下带有overflow:hidden属性的父级元素包不住带有position:relative属性的子元素

IE6/7下带有overflow:hidden属性的父级元素包不住带有position:relative属性的子元素 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .box{ width: 200px; height: 200px; bord

解决IE6,IE7下子元素使用position:relative、父元素使用overflow:auto后,子元素不随着滚动条滚动的问题

在IE6,IE7下,子元素使用position:relative.父元素使用overflow:auto后,我们预期的是滚动条滚动时,子元素也随着滚动,实际情况是内容不滚动,就感觉你是定位定在那里了. 解决办法是父元素添加position:relative样式

DIV CSS兼容性解决IE6/IE7/FF浏览器的通用方法完美兼(转)

在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! 所有浏览器 通用height: 100px; IE6 专用_height: 100px; IE6 专用*height: 100px; IE7 专用*+height: 100px; IE7.FF 共用height: 100px !important; 一.CSS HACK1, !important随着IE7对!i

CSS完美兼容IE6/IE7/FF的通用方法

一.CSS HACK以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) wrapper {width: 100px!important; /* IE7+FF /width: 80px; / IE6 */} 2, IE6/IE77对FireFox +html 与 *html 是IE特有的标签, firefox 暂不支持.而+html 又为 IE7

ie6, ie7兼容性问题以及处理办法

1.IE6中绝对定位位置错误问题描述:在ie6中,如果参照物没有触发haslayout ,那么绝对定位的容器的left和bottom就会有问题.解决办法:在相对定位的父容器上加入 zoom:1 来触发ie的haslayout即可解决.小技巧:通常我们在设置一个容器为position:relative的时候 ,都会加上zoom:1来解决很多ie下的问题. 2.IE6中绝对定位1像素偏差问题描述:在 IE6 下定位元素的父级宽高都为奇数时,那么在 IE6 下定位元素的 right和bottom都有1

css布局“黑技术”、“偏方”、技巧、“无道理”(万能的overflow:hidden;)

一.目标:左右布局,左边浮动+右侧自适应不浮动(解决办法:未浮动元素overflow:hidden;) 原理:两个bfc并存,不包含     代码如下: 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="Author" content="haley">

overflow:hidden的清除浮动效果

我们都知道"overflow:hidden"可以溢出隐藏,即当内容元素的高度大于其包含块的高度时,设置该属性即可把内容区域超出来的部分隐藏,使内容区域完全包含在该包含块中. 然而"overflow:hidden"还有另外一个特殊的用途,那就是清除包含块内子元素的浮动.我们先来看一个实例: //html <body> <div class="parent"> <div class="child1"&

CSS中overflow:hidden在ie6、ie7无效不能隐藏解决办法

在我们做前端时会碰到一个固定的宽度当文字超过我们这个固定宽度时我们不换行的同时希望文字隐藏了, 那我们通常会使用overflow:hidden来隐藏文字,但是发现在ie6,ie7下overflow:hidden无效了,那么如何解决这个问题呢? 这就是ie6.ie7 的bug. 解决方法: 当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效.我们在IE 6 7内发现子元素会超出父元素设定的高度,即使父元素设置了o