IE6 fixed定位问题解决方案教程

IE6 fixed定位问题解决方案教程

浏览次数:
作者: 墨鱼
信息来源: 本站原创
更新日期: 2014-09-17 11:33:36
文章简介

解决IE6不支持position:fixed固定定位问题教程:在IE6中,由于不支持CSS的position:fixed属性,固定定位元素会失效。可通过JavaScript模拟实现。方法包括使用绝对定位结合滚动事件监听,动态调整元素位置。或使用第三方库如ie7-js,简化实现过程。注意测试不同场景下的兼容性,确保固定元素在页面滚动时保持原位。通过此方法,轻松解决IE6下的固定定位难题。

  • 正文开始
  • 相关阅读
  • 推荐作品

就像你所遇到的问题一样, IE6 有太多的 bug 让制作网页的人头疼。这篇文章介绍的是介绍我的如何解决 IE6 不支持 position:fixed; 属性的办法。

解决 IE6 position:fixed 固定定位问题

关于 position:fixed; 属性 生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

position:fixed; 可以让网页上的某个元素固定在一个绝对的位置,即使拉动滚动条位置也不发生变化。(在 LOO2K 博客右下角的那个置顶的小按钮就是用了这个 CSS 属性实现的)

一般的 position:fixed; 实现方法

以我的博客为例,在右下角<div id="top">...</div>这个 HTML 元素使用的 CSS 代码如下:

#top{       position:fixed;     bottom:0;     right:20px; }

实现让<div id="top">...</div>元素固定在浏览器的底部和距离右边的20个像素。

在 IE6 中实现 position:fixed; 的办法

刚刚提过,在 IE6 中是不能直接使用 position:fixed; 。你需要一些 CSS Hack 来解决它。(当然,IE6 的问题也不仅仅 position:fixed;)

相同的还是让 <div id="top">...</div> 元素固定在浏览器的底部和距离右边的20个像素,这次的代码是:

#top{
position:fixed;
_position:absolute;
bottom:0;
right:20px;
_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)));
}

right 跟 left 属性可以用绝对定位的办法解决,而 top 跟 bottom 就需要用上面的表达式来实现。其中在position:absolute;中的符号只有 IE6 才能识别,目的是为了区分其他浏览器。

上面的只是一个例子,下面的才是最重要的代码片段:

使元素固定在浏览器的顶部

#top{
_position:absolute;
_bottom:auto;
_top:expression(eval(document.documentElement.scrollTop));
}

使元素固定在浏览器的底部

#top{
_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-top:10px; 或者 margin-bottom:10px; 修改其中的数值控制元素的位置。

position:fixed; 闪动问题

现在,问题还没有完全解决。在用了上面的办法后,你会发现:被固定定位的元素在滚动滚动条的时候会闪动。解决闪动问题的办法是在 CSS 文件中加入:

*html{
background-image:url(about:blank);
background-attachment:fixed;
}

其中 * 是给 IE6 识别的。

到此,IE6 的 position:fixed; 问题已经被解决了。

关联内容: IE6 position fixed
墨鱼移植阿里白秀主题,栏目图标设置教程
« 上一篇 2014年08月09日
图片自适应浏览器窗口大小的JS实现教程
下一篇 » 2014年11月02日
  • 墨鱼部落格改版公告及致谢,感谢大家长期支持!
    2319阅读1条评论120个赞
    关于墨鱼部落格改版的温馨告知:感谢各位长期以来对我们的鼎力支持与厚爱!此次改版旨在为大家带来更加优质、便捷的浏览体验。我们精心设计了全新界面,优化了内容布局,力求让每一篇教程都更加清晰易懂。期待在全新的墨鱼部落格中,与您共同探索更多精彩。再次感谢您的支持与陪伴,让我们携手前行,共创美好!谢谢!
  • 2014年帝国CMS核心模板移植与修改教程汇总
    4707阅读0条评论145个赞
    2014年精心打造、修订并移植的众多模板,均基于强大的帝国CMS核心!全面覆盖,专业教程助您轻松上手。无论您是寻找经典模板还是创新设计,这里应有尽有。所有模板均经过精心优化,确保兼容性与稳定性。不再错过任何精彩,立即探索这些高效、实用的帝国CMS模板,为您的网站增添无限魅力!
  • 帝国CMS安装与数据恢复模板视频教程
    5494阅读0条评论147个赞
    帝国CMS安装教程及数据恢复模板视频指南,全面讲解从零开始安装帝国CMS系统,以及遇到数据丢失时如何高效恢复。本视频教程详细演示安装步骤,包括环境配置、系统部署等关键环节,同时提供数据恢复模板的使用技巧,帮助用户快速重建网站数据。无论你是新手还是有一定经验的用户,都能通过观看本教程,轻松掌握帝国CMS的安装与数据恢复技能。
  • 帝国CMS基础操作视频指南-墨鱼教程
    2448阅读0条评论138个赞
    帝国CMS基础操作视频教程,由墨鱼出品,全面讲解系统使用精髓。无论你是新手还是进阶用户,都能通过此教程迅速掌握帝国CMS的核心功能。视频内容详实,步骤清晰,从安装配置到内容管理,再到模板制作与SEO优化,一应俱全。跟随墨鱼教程,轻松提升你的网站建设与运营能力。立即观看,开启你的帝国CMS高效之旅!
  • 帝国CMS网站图片与模板文字修改教程
    16187阅读0条评论235个赞
    帝国CMS网站搭建后,图片与模板文字修改教程:轻松上手!要修改图片,先上传新图至指定目录,在后台管理页面找到对应内容模块,替换原有图片即可。至于模板内文字,进入模板管理,定位需修改的文字区域,直接编辑保存。简单几步,即可实现网站内容与外观的快速调整,提升网站维护效率。

如本文对您有帮助,就请墨鱼抽根烟吧!