IE6中的CSS固定容器

时间:2010-05-15 11:22:41

标签: css cross-browser internet-explorer-6

#fixed {
    border:1px solid red;
    height:100px;
    left:50%;
    margin-left:-500px;
    position:fixed;
    top:0;
    width:1000px;
}

如何让这个元素在IE6中以相同的方式显示? div是直接在体内的第一个元素 问候

3 个答案:

答案 0 :(得分:2)

IE 6不支持position: fixedSource),据我所知,没有简单的CSS解决方法。

您需要使用基于JavaScript的解决方案解决方案,在页面滚动时调整元素的位置。

this SO question中列出了一个非常简单的解决方案。那些基于JS的解决方案在我的经验中往往非常摇晃和生涩,它们远不及position: fixed的平滑度。

答案 1 :(得分:1)

抱歉,没有时间根据您的具体要求翻译我的样本,但从这些代码中获取灵感:

// Modern browser : FF, Chrome, Opera
// ----------------------------------------

#fixmetoo { position: absolute; right: 0px; bottom: 0px; }
div > div#fixmetoo { position: fixed; }


// IE6
-------------------------------------------

<!--[if lt IE 7]>
div#fixmetoo {
        right: auto; bottom: auto;
        left: expression( ( -80 - fixmetoo.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
        top: expression( ( -100 - fixmetoo.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
    }
<![endif]-->

答案 2 :(得分:0)

嗯,你可以尝试这个css - 然后元素居中。

<!--[if lt IE 7]>
<style type="text/css">
#fixed {
margin: 0 auto; 
}
</style>
<![endif]-->