现在有一个元素的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];// https://www.7e8m.cn/
domThis.style.setExpression(
'top', 'eval((document.documentElement).scrollTop + ' +  50 + ')'
);

 通过这种方式,就可以达到修改的目的了。

1 对 “913. IE6下position不支持fixed属性的解决方法”的想法;

评论被关闭。