解决IE6不支持position:fixed的问题?

aries 发表于 2013-08-06 1336 次浏览

在IE6以上版本,火狐,谷歌等浏览器都是件容易的事情,直接用position:fixed这个属性就可以搞定。如:

.top {position:fixed;bottom:auto;top:0px;} /* 头部固定 */
.bottom {position:fixed;bottom:0px;top:auto;} /* 底部固定 */
.left {position:fixed;right:auto;left:0px;} /* 左侧固定 */
.right{position:fixed;right:0px;left:auto;} /* 右侧固定 */

但在IE6及以下版本这样设置是没用的,要设置成这样:

body{background-image:url(about:blank);background-attachment:fixed;} /* 修正IE6振动bug */
.top {position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));} /* IE6 头部固定*/
.left{position:absolute;left:auto;right:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));} /* IE6 右侧固定 */
.right {position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));} /* IE6 右侧固定 */
.bottom {position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));} /* IE6 底部固定 */

1条评论

  1. 哇塞 IE6 就变得那么多了。

    一堵墙 回复
如需评论,请填写表单。
换一个

记住我的信息