IE6中fixed抖动问题的解决(完美无副作用版)

我们可以通过position:fixed来实现元素的固定效果,如网页中底部的“回到顶部菜单”,底部的toolbar,对联广告等等,可惜fixed属性在IE6及以下是不支持的。

通常的作法,我们用JS或者IE表达式来达到这个效果。

如:

.fixed{  
position: fixed;  
_position: absolute;  
_top: expression(eval(document.documentElement.scrollTop));  
}  

可惜,又遇到一个问题,页面滚动的时候,会出现抖动现象.

如果解决呢?

无意中发现我们momo社区的左侧导航栏在IE6下页面滚动时候居然不抖动,看了下CSS,和上面的表达式没有任何区别呀。。。

于是对HTML和CSS进行最简化删除,最终发现,原来是body属性中设置了背景图片刚好解决了这个抖动的问题!

body中设置了一个样式:

body{  
background: url(images/v2/body.jpg) fixed;  
}  

上网搜了下,居然已经有人这样通过这个办法解决,顺便还找到了另一个解决方法,总结如下:
方法1

.fixed{  
position: fixed;  
_position: absolute;  
_top: expression(eval(document.documentElement.scrollTop));}  
html{  
_text-overflow:ellipsis;  
}  

方法2

.fixed{  
position: fixed;  
_position: absolute;  
_top: expression(eval(document.documentElement.scrollTop));  
}  
html {  
_background: url(xx.jpg) fixed;  
}  

 

posted @ 2013-05-31 13:22  breezefeng  阅读(389)  评论(0编辑  收藏  举报