WEB开发网
开发学院网页设计JavaScript 让IE5.5+也支持position:fixed; 阅读

让IE5.5+也支持position:fixed;

 2010-09-14 13:23:50 来源:WEB开发网   
核心提示: div#fixme { position: absolute; left: 0px; top: 0px; }body > div#fixme { position: fixed; }它将产生一个相当漂亮的效果,并且与一个检测当前样式是绝对定位的JAVASCRIPT结合时将会更好,让I

div#fixme { position: absolute; left: 0px; top: 0px; }
body > div#fixme { position: fixed; }

它将产生一个相当漂亮的效果,并且与一个检测当前样式是绝对定位的JAVASCRIPT结合时将会更好,当获到onScroll事件时再重新定位。

可以改善这种情况吗?

可以。如果它仅用CSS可以实现的话那将会更简洁,我找到了一个离那个要求更近的方法。

在IE5的时候,㠞软就加入了它们的属性Expression到CSS当中,我急于选择这些去进行元素的绝对定位。在浏览器中,Expressions应该是一个根据变化自动更新的,如在滚动页面或者改变窗口的时候。

div#fixme {
 left: expression( document.body.scrollLeft + 'px' );
 top: expression( document.body.scrollTop + 'px' );
}
body > div#fixme { position: fixed; left: 0px; top: 0px; }

但还是太令人失望的。由于在IE表达式的说明中提到了一个BUG,它将不再更新这个,因此只能停留在(0,0)的坐标。

不管怎么样,用一些CSS就可以玩弄的,我产生了一些奇怪的念头。如果我分配这个值到变量当中的话,那我就将它指定到Expression的同一行中。在IE5.5和6.0中它已经更新了。虽然有轻微的抖动,但与用脚本来控制定位的技术相比也不算坏。

<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
top: expression( ( ignoreMe = document.body.scrollTop ) + 'px' );

当然,在IE6,按照顺从方式把document.documentElement.scrollTop赋给变量,所以我也需要去检查。IE7在这个问题上也是被排除的。

上一页  1 2 3 4  下一页

Tags:IE 支持 position

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接