0

我想将 div 的位置固定在页面的右下角..(一个聊天框)..我如何通过一个适用于所有 IE6/7/8 和 mozilla 的 css 文件来做到这一点..for我现在有

#chatBox{ 位置:固定;底部:0%;对:1%;} 这在 IE 上不起作用。我的限制是我只能编辑这个 CSS 文件(所以也不能将 html 设置为严格模式)。我在网上找到的解决方法只是谈论页面顶部而不是底部的位置。

谢谢莫汉

4

1 回答 1

1

您可以使用 CSS 表达式修复 IE。使用条件注释向 IE 提供以下内容:

/* smooths out the IE expression scroll - foo doesn't need to exist */
body{
   background:url(foo) fixed;
}

/* fixed scrolling element */
#bottom-fixed-element {
   position: absolute;  
   right: 0;
   top: expression(
      document.body.scrollTop + document.body.clientHeight - this.clientHeight
   );
}

如果您无法更改源以包含条件注释,则可以使用 CSS hacks 解决它,但不建议这样做:

#bottom-fixed-element {
   position: fixed;
   bottom: 0;
   right: 0;

   _position: absolute;  
   _top: expression(
      document.body.scrollTop + document.body.clientHeight - this.clientHeight
   );
}

编辑

如果需要同时支持 quirks 和standards 模式,可以在表达式中进行测试:

top: expression(
   (document.compatMode && document.compatMode == 'CSS1Compat') ?          
       (documentElement.scrollTop + documentElement.clientHeight - this.clientHeight) :
       (document.body.scrollTop + document.body.clientHeight - this.clientHeight)
);
于 2010-09-14T19:36:55.863 回答