您的位置:首页 > 其它

IE 6 position不支持fixed属性的解决方案

2014-06-23 07:28 281 查看
  抛出另一个问题: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: