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; }