当前位置: 代码迷 >> Web前端 >> ie6模拟fixed不颤动的方法
  详细解决方案

ie6模拟fixed不颤动的方法

热度:82   发布时间:2012-11-14 10:12:18.0
ie6模拟fixed不抖动的方法
由于ie6下position没有fixed,只有改变top和left来实现。
方法一:css的expression
.fixed{
    position:absolute;
    left:expression(documentElement.scrollLeft+documentElement.clientWidth-this.offsetWidth);
    top:expression(documentElement.scrollTop+documentElement.clientHeight-this.offsetHeight);
}
方法二:监听scroll事件(不能用attachEvent,其它二种都行)
document.documentElement.onscroll=function(){
       fixedA.style.left=de.scrollLeft+de.clientWidth-fixedA.offsetWidth+"px";
       fixedA.style.top=de.scrollTop+de.clientHeight-fixedA.offsetHeight+"px";
}
仅仅如些还不够,我们要fixed的元素为闪动。
我们要给html或body设置background: url(*) fixed;
即可解决闪动。
实际用下来监听scroll事件没有expression效果好。快速拖动滚动条还是有点卡。
注:如果没有设置DOCTYPE则documentElement要用body代替。
  相关解决方案