说实话,真的不想写支持IE6的东西了,IE6最好赶快消失...
IE6不支持 position:fixed ,要在IE6下实现类似的效果,只能用 position absolute 来模拟,同时监听window的 resize 和 scroll 事件同时改变位置即可。如下:
normal fixed example但这个模拟有一个问题,很在scroll的时候,一直在改变位置的那个层会“跳动”,或者说“闪动”,flickrer。一个解决方案是为body引入一个404的图片背景,在页面dom比较heavy的时候,会不那么跳动,这个的原理我估计是拖慢了浏览器的速度,让位置同步变慢了,反而不那么闪了。不过多了一次404请求,对页面性能也不太好,如下:
less flicker fixed example另一个解决方案是加入一个跟随移动的动画效果,不那么闪,也能达到定位的实质,虽然有人不太喜欢各个浏览器下表现不完全一致,不过我喜欢这个方法:
following animation exapmle