#fixed {
border:1px solid red;
height:100px;
left:50%;
margin-left:-500px;
position:fixed;
top:0;
width:1000px;
}
如何让这个元素在IE6中以相同的方式显示? div是直接在体内的第一个元素 问候
答案 0 :(得分:2)
IE 6不支持position: fixed
(Source),据我所知,没有简单的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]-->