抛出另一个问题:IE7已经支持position:fixed了,而IE6却不支持,解决这个问题的办法如下:
现在有一个元素的id是element,它需要实现fixed效果,我们既想要它在正常的浏览器下使用,也想要它在IE 6下正常工作,那么可以使用css hack:
#element {position: fixed;top: 450px; /* 其他浏览器下定位,在这里可设置坐标*/_position: absolute; /*IE6 用absolute模拟fixed*//*IE6 动态设置top位置*/_top: expression(eval(document.documentElement.scrollTop) + 450); }
这样就可以实现这个元素距离顶部450像素固定,你还可以添加下面的代码实现去除页面抖动的效果:
*html body{background-image:url(about:blank);background-attachment:fixed;}
在前文中,通过_top设置CSS样式,那么怎么修改expression的样式呢:
var domThis=$(this)[0];domThis.style.setExpression('top', 'eval((document.documentElement).scrollTop + ' + 50 + ')');
通过这种方式,就可以达到修改的目的了。
-------------------------------------------------------------------------------------------------------------------------------------
本文非原创,转载自: http://www.tonitech.com/1505.html