IE6浏览器不支持固定定位(position:fixed)解决方案
来源:互联网 发布:nba雄鹿队数据 编辑:程序博客网 时间:2024/05/21 11:33
经过多次测试,原来不只在IE6下,在IE7、IE8浏览器下,若是文档使用的是怪异(quirk)模式也会导致这个问题。这也难怪,当IE7、8使用怪异模式时,渲染引擎将以接近IE6的渲染模式来解析CSS。最后,我得出了以下结论:
IE6、IE7(quirk模式)、IE8(quirk模式) 浏览器将 'position' 特性的 fixed 值当作错误值处理。从而导致使用固定定位的元素使用 'position' 的默认值 static。即这个元素在 此时 变成了普通流中的元素,这必然会导致布局错位等问题。
解决方案:在 IE6、IE7(quirk模式)、IE8(quirk模式)中为固定定位元素设置 '_position:absolute',再通过 JavaScript 脚本或者 CSS Expression 动态设置其偏移量,但是我发现只能实现在最底部和最顶部固定。要想设置具体的位置还需要配合_margin。
使元素固定在浏览器的顶部:
代码如下:
#top {
_position: absolute;
_bottom: auto;
_top: expression(eval(document.documentElement.scrollTop));
}
使元素固定在浏览器的底部:
#bottom {
_position: absolute;
_bottom: auto;
_top: expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));
}
这两段代码只能实现在最底部跟最顶部,你可以使用
_margin
修改其中的数值控制元素的位置。 看到这里,你一定以为已经完事了。NO!还有bug:被固定定位的元素在滚动滚动条的时候会出现一闪一闪的情况。解决这个问题的办法是在 CSS 文件中加入:
代码如下:
* html{
background-image:url(about:blank);
background-attachment:fixed;
}
或者:
body {
_background-attachment:fixed;
_background-image:url(about:blank);
}
当然,也可以用吧javascript方法解决,不过有点大材小用:
window.onresize = window.onscroll = function(){
//code
};
0 0
- IE6浏览器不支持固定定位(position:fixed)解决方案
- IE6不支持position:fixed解决方案
- IE6 IE7(Q) IE8(Q) 不支持固定定位(position:fixed)
- 解决IE6浏览器下position:fixed固定定位问题
- 解决IE6浏览器下position:fixed固定定位问题
- 解决IE6浏览器下position:fixed固定定位问题
- 解决IE6浏览器下position:fixed固定定位问题
- 解决IE6浏览器下position:fixed固定定位问题
- 解决IE6浏览器下position:fixed固定定位问题
- 解决IE6浏览器下position:fixed固定定位问题
- 解决 IE6 position:fixed 固定定位问题
- 解决 IE6 position:fixed 固定定位问题
- 解决 IE6 position:fixed 固定定位问题
- 解决 IE6 position:fixed 固定定位问题
- IE6 position:fixed 固定定位问题
- 解决IE6浏览器下position:fixed固定定位不抖动的问题
- 完美解决IE6浏览器下不兼容position:fixed固定定位
- ie6不识position:fixed,固定定位的其它实现
- ubuntu 10.04 挂载nfs遇到的问题
- iOS 获取最新设备型号方法
- windows系统版本判断
- ANDROID L——Material Design详解(视图和阴影)
- Windows平台下golang使用LiteIDE实现跨平台编译
- IE6浏览器不支持固定定位(position:fixed)解决方案
- JAVA之编码/解码 -- 各种环境下可能会发生的乱码问题及解决方案
- java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()
- vc 查找进程,并杀掉
- ANDROID L——Material Design详解(UI控件)
- iOS开发之quartz 2d绘图基础
- Xamarin.Forms入门困扰与解决方式-第三篇
- ANDROID L——RecyclerView,CardView导入和使用(Demo)
- UITextView设置超链接,点击跳转到应用内的webView