[英]IE 6 z-index and position: fixed; issue
这是我现在试图解决的问题! 我四处寻找解决方案,但找不到解决方案。 首先,我的html是如何构建的(只是骨架框架) -
<body>
<div class="header"> </div>
<div id="content-wrapper">
<a href="/some.html"><div class="feedback_div"></div></a>
</div>
<div id="footer-wrapper"></div>
</body>
现在我的.feedback div已定位到固定并给出top: 40%;
和right: 0;
和z-index太(当然)。 虽然这种方法在所有浏览器中都能正常工作,但IE 6会让它变得混乱。 所以为了复制它对IE 6的影响,我得到了这个解决方案 -
/* IE 6 only */
* .feedback_div
{
z-index: 9998;
position: absolute;
top: expression( (( t=document.documentElement.scrollTop) ? t: document.body.scrollTop) +'px');
right: -140px;
}
* #content-wrapper
{
position: relative;
z-index: 9999;
}
* #footer-wrapper
{
z-index: 0;
position: relative;
}
* html
{
overflow: auto;
}
* html body
{
height: 100%; /* required */
}
/* END: IE 6 only */
但现在的问题是,当你滚动时, .feedback div跟随你,当它到达.footer div时,反馈div会在它后面。 我尝试使用z-index,但没有任何效果。
现在我知道理想的解决方案是重新构造html,使得.feedback div是<body>
子代。 但我不打算改变结构,这意味着在后端搞乱。 我正在寻求解决这个问题只是为了..所以,即使它按预期工作,甚至某种类型的黑客也会这样做。
那么有人有解决方案吗? 任何帮助将不胜感激。
代码中存在一些错误:
div
标签, a
标签无效。 浏览器将移动div
外部元素a
元素。 div
上有class="feedback"
,但你在CSS中使用.feedback_div
,所以样式不适用。 当您使用z-index时,它适用于同一级别的元素,因此您将它应用于反馈元素的父级,因为它与页脚位于同一级别。
如果我没记错的话,对于IE6,您需要设置zoom: 1
以使z-index正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.