让代码跟随页面滚动的 position:fixed在ie6下不可用,让人头痛的要命。

本文所使用的技巧是用了一条Internet Explorer的CSS表达式(expression)。你不可以直接使用该表达式,因为它可能会因为缓存而不更新。解决这一点的最简单的方式是使用eval包裹你的语句。

此文引用解决ie6不支持fixed一文



css代码如下

/*让position:fixed在IE6下可用! */
.fixed-top {position:fixed;bottom:auto;top:0px;}/* 头部固定 */
.fixed-bottom {position:fixed;bottom:0px;top:auto;border:1px solid #f00;}/* 底部固定 */
.fixed-left {position:fixed;right:auto;left:0px;} /* 左侧固定 */
.fixed-right{position:fixed;right:0px;left:auto;} /* 右侧固定 */
/* 上面的是除了IE6的主流浏览器通用的方法 */
* html body {background-image:url(about:blank);background-attachment:fixed;} /* 修正IE6振动bug */
_text-overflow:ellipsis;  /* 修正IE6振动bug  */使用方法:html {_text-overflow:ellipsis;}

* html .fixed-top {position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));} /* IE6 头部固定 */
* html .fixed-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 右侧固定*/
* html .fixed-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 底部固定*/
* html .fixed-left {position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft));}  /* IE6 左侧固定 */

记得头部 要有DOCTYPE的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">