IE6 fixed的完美解决方案_javascript技巧_脚本之家

ie6对position:fixed不支持,网上有很多解决方法,有的在ie6,ie7上调试成功后,在ie8上又不好使,div层还是跟随滚动条浮
动;以下总结方法,在ie6,ie7,ie8上都调试成功,且页面滚动条滚动时,效果还挺好,div层并不会闪烁。

第一种方法:纯CSS 目前网上有的比较多的是这种解决方案: 复制代码 代码如下: html{overflow:hidden;}
body{height:100%;overflow:auto;} #澳门新葡亰手机版,rightform
form{position:absolute;right:30px;top50px;}
这个方法有一个bug未解决:在IE6下会把所有position:absolute都变成“浮动”的元素;还有使用js方法滚动滚动条时会出现对象闪烁,如下方法结合了CSS和js的办法,解决了以上的问题。
复制代码 代码如下:

复制代码 代码如下:div /div

IE6 fixed

css:

1111

复制代码 代码如下:.fixed{ position:fixed;
/*对于火狐等其他浏览器需要设置的*/ top:700px; /*同上*/ width:30px;
height:30px; cursor:pointer; display:none; } .ie{ _position: absolute;
_clear: both; _top:expression(eval(document.compatMode
document.compatMode==’CSS1Compat’) ? documentElement.scrollTop
+(documentElement.clientHeight-this.clientHeight) – 1 :
document.body.scrollTop +(document.body.clientHeight-this.clientHeight)

show

  • 1); }

只实现了垂直方向的fixed。若要实现水平方向的fixed,设置_left:expression(documentElement.scrollLeft

  • “px”);
    利用给设置固定的背景,防止滚动条滚动时的闪动;如果中要设置滚动的背景而产生冲突,可以把代码写在html选择器里面,如:
    复制代码 代码如下: html {
    _background-image: url; _background-attachment: fixed; /* prevent
    screen flash in IE6 */ } body { background-image: url;
    background-attachment: scroll; } 第二种方法 JavaScript 复制代码 代码如下:

position_fixed测试

测试内容………

测试内容………

测试内容………

测试内容………

测试内容………

测试内容………