天天看點

【css】ie6 和 ie7 下 position 與 overflow 的問題

前幾天做的項目中碰到這樣一個問題,在 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 下效果:

【css】ie6 和 ie7 下 position 與 overflow 的問題

解決方法:

給父元素設定 position:relative。