繁体   English   中英

IE 6 z-index和position:fixed; 问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM