前幾天做的項目中碰到這樣一個問題,在 ie6 和 ie7 下,給父元素設定 overflow:hidden 不起作用無法隐藏,後來發現是子元素中有設定 position:relative,如果子元素删除 position:relative,那麼父元素的 overflow:hidden 可以隐藏。
前幾天做的項目中碰到這樣一個問題,在 ie6 和 ie7 下,給父元素設定 overflow:hidden 不起作用無法隐藏,後來發現是子元素中有設定 position:relative,如果子元素删除 position:relative,那麼父元素的 overflow:hidden 可以隐藏,具體代碼及效果如下:
html 代碼:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="renderer" content="webkit"/>
<meta name="keywords" content=""/>
<meta name="description" content=""/>
<title>Document</title>
<style>
*{margin:0;padding:0;}
.w{width:480px;margin:50px auto;}
.w ul{width:100%;overflow:hidden;height:144px;border:1px solid #f00;}
.w li{position:relative;height:36px;width:108px;border:1px solid #d1d1d1;line-height:36px;text-align:center;float:left;display:inline;margin:0 10px 10px 0;}
</style>
</head>
<body>
<div class="w">
<ul>
<li>111111111</li>
<li>222222222</li>
<li>333333333</li>
<li>444444444</li>
<li>555555555</li>
<li>666666666</li>
<li>777777777</li>
<li>888888888</li>
<li>999999999</li>
<li>000000000</li>
<li>111111111</li>
<li>222222222</li>
<li>333333333</li>
<li>444444444</li>
<li>555555555</li>
<li>666666666</li>
<li>777777777</li>
<li>888888888</li>
<li>999999999</li>
<li>000000000</li>
</ul>
</div>
</body>
</html>
ie6 和 ie7 下效果:

解決方法:
給父元素設定 position:relative。