我想将 div 的位置固定在页面的右下角..(一个聊天框)..我如何通过一个适用于所有 IE6/7/8 和 mozilla 的 css 文件来做到这一点..for我现在有
#chatBox{ 位置:固定;底部:0%;对:1%;} 这在 IE 上不起作用。我的限制是我只能编辑这个 CSS 文件(所以也不能将 html 设置为严格模式)。我在网上找到的解决方法只是谈论页面顶部而不是底部的位置。
谢谢莫汉
我想将 div 的位置固定在页面的右下角..(一个聊天框)..我如何通过一个适用于所有 IE6/7/8 和 mozilla 的 css 文件来做到这一点..for我现在有
#chatBox{ 位置:固定;底部:0%;对:1%;} 这在 IE 上不起作用。我的限制是我只能编辑这个 CSS 文件(所以也不能将 html 设置为严格模式)。我在网上找到的解决方法只是谈论页面顶部而不是底部的位置。
谢谢莫汉
您可以使用 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)
);