
就像您所遇到的题目一样, IE6 有太多的 bug 让建造网页的人头疼。这篇文章介绍的是介绍我的如何解决 IE6 不支持 position:fixed; 属性的举措。

对于 position:fixed; 属性
死成绝对定位的元素,绝对于欣赏器窗口停止定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性停止划定。
position:fixed; 可以让网页上的某个元素固定正在一个绝对的位置,即便拉动滚动条位置也不产死变化。(正在 LOO2K 博客右下角的那个置顶的小按钮就是用了这个 CSS 属性实现的)
普通的 position:fixed; 实现圆法
以我的博客为例,正在右下角<div >...</div>这个 HTML 元素使用的 CSS 代码如下:
#top{
position:fixed;
bottom:0;
right:20px;
}
实现让<div >...</div>元素固定正在欣赏器的底部跟距离右边的20个像素。
正在 IE6 中实现 position:fixed; 的举措
刚提过,正在 IE6 中是不克不及直接使用 position:fixed; 。您需要一些 CSS Hack 来解决它。(当然,IE6 的题目也不仅仅 position:fixed;)
沟通的照样让 <div >...</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; 题目已被解决了。
转载请注明: 帝国CMS模板 » 解决 IE6 position:fixed 固定定位题目
*
回帖描述:*
链接类型:*
下载链接:*
描述:*
回帖描述:*
链接类型:*
阅读权限:*
下载链接:



聚优部落技术论坛 © 版权所有 鲁ICP备15007479号-6
Copyright(C)web.com, All Rights Reserved.
