让IE5.5+也支持position:fixed;
2010-09-14 13:23:50 来源:WEB开发网ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop
我们想定位某个元素绝不是(0,0)坐标。
top: expression( ( 10 + ( ignoreMe = document.body.scrollTop ) ) + 'px' );
当然,不能验证CSS,因此我宁愿在一个条件注释里放一段特别的CSS,这也允许像NETSCAPE4这样较少的浏览器使用正常的left和top定位一样。
<style type="text/css">
#fixme {
/* Netscape 4, IE 4.x-5.0/Win and other lesser browsers will use this */
position: absolute; left: 20px; top: 10px;
}
body > div#fixme {
/* used by Opera 5+, Netscape6+/Mozilla, Konqueror, Safari, OmniWeb 4.5+, iCab, ICEbrowser */
position: fixed;
}
</style>
<!--[if gte IE 5.5]>
<![if lt IE 7]>
<style type="text/css">
div#fixme {
/* IE5.5+/Win - this is more specific than the IE 5.0 version */
left: expression( ( 20 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 10 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
</style>
<![endif]>
<![endif]-->
我的一个读者发现了一个停止跳动的效果的方式。(更多的情况请点此处),但记着它不是一直都正常 - 如果这个问题被接纳的话这个例子在这个页面上一直是跳动的(另外一个读者发现一个怎样在页面中像这样定位),不管怎么样,你将发现它是可以为你派上用场的。
更多精彩
赞助商链接