可是要在IE6中实现固定效果,position: fixed;就不奏效了。
目前我所知的ie6下fixed的方案大概有纯css和expression+js两种,各有利弊。
1.纯css法
利用了ie6下html元素外面套的一个匿名元素,即 * ,利用选择器层级,可以定制ie6下的效果。代码如下

复制代码代码如下:
* html {
overflow-y: hidden;}/*只是定制垂直滚动fixed*/
* html body{
overflow-y: auto;
height: 100%;
}
* html #fixedbox{ /*把要固定的元素position设置为absolute */
position: absolute;
}

此法看似成本很低,其实有个显而易见的致命伤,就是ie6下所有position: absolute; 的元素都会被置为固定不动。于此,此法只能用于页面木有绝对定位的元素的时候。

2.js 法
其实此法原理也很简单,就是在ie6下利用js不断改变absolute的元素scrolltop值,已达到类似固定的效果。例如

复制代码代码如下:
#fixedbox{
position: fixed;
top: 250px;
/* for ie6 */
_position: absolute;
_top: expression(documentElement.scrollTop + 250 +”px”);
}

此法也有一个小问题,即滚动时会闪烁。
解决闪烁的办法也很简单,即给滚动元素的父元素(一般是body)设置一个background-image,并把background-attachment设置为fixed。
于是,综上,

复制代码代码如下:
#fixedbox{
position: fixed;
top: 250px;
}
/*for ie6 */
* html body{
background-image: url(about:blank);
background-attachment: fixed;
}
* html #fixedbox{
position: absolute;
top: expression(documentElement.scrollTop + 250 +”px”);
}

虽然expression会影响一定的性能,但这也不失为一种好的模拟fixed的方法。
ps:如果本身body中要设置background-image的,可以直接在html里写空的固定的背景图。
标签:
position,fixed

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“ie6 position:fixed解决方案”
暂无“ie6 position:fixed解决方案”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?