ie6 position:fixed解决方案
建站知识 2021-07-03 08:43www.168986.cn长沙网站建设
可是要在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的元素scroll值,已达到类似固定的效果。例如
#fixedbox{
position: fixed;
: 250px;
/ for ie6 /
_position: absolute;
_: expression(documentElement.scrollTop + 250 +”px”);
}
此法也有一个小问题,即滚动时会闪烁。
解决闪烁的办法也很简单,即给滚动元素的父元素(一般是body)设置一个background-image,并把background-attachment设置为fixed。
于是,综上,
#fixedbox{
position: fixed;
: 250px;
}
/for ie6 /
html body{
background-image: url(about:blank);
background-attachment: fixed;
}
html #fixedbox{
position: absolute;
: expression(documentElement.scrollTop + 250 +”px”);
}
虽然expression会影响一定的性能,但这也不失为一种好的模拟fixed的方法。
ps如果本身body中要设置background-image的,可以直接在html里写空的固定的背景图。
目前我所知的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的元素scroll值,已达到类似固定的效果。例如
复制代码
代码如下:#fixedbox{
position: fixed;
: 250px;
/ for ie6 /
_position: absolute;
_: expression(documentElement.scrollTop + 250 +”px”);
}
此法也有一个小问题,即滚动时会闪烁。
解决闪烁的办法也很简单,即给滚动元素的父元素(一般是body)设置一个background-image,并把background-attachment设置为fixed。
于是,综上,
复制代码
代码如下:#fixedbox{
position: fixed;
: 250px;
}
/for ie6 /
html body{
background-image: url(about:blank);
background-attachment: fixed;
}
html #fixedbox{
position: absolute;
: expression(documentElement.scrollTop + 250 +”px”);
}
虽然expression会影响一定的性能,但这也不失为一种好的模拟fixed的方法。
ps如果本身body中要设置background-image的,可以直接在html里写空的固定的背景图。
上一篇:CSS 的层叠规则说明
下一篇:firefox下有滚动条时页面抖动问题的解决方法
长沙网站设计
- 如何进行东阳SEO关键词优化?
- 边坝哪有关键词排名优化:提升你的网站流量与
- 安国百度优化服务:提升您的在线可见性
- 阜康新手做SEO怎么做
- 山西seo网站排名关键词优化:提升您网站曝光率
- 临沂seo网站排名关键词优化:提高你的网站可见
- 广西SEO网站推广怎样付费比较合理
- 双辽SEO网站推广:提升你的网站可见性与流量
- 辽宁企业网站优化购买方式有哪些
- 提升宝清百度SEO排名的实用技巧与策略
- 静宁百度SEO排名:提升您网站曝光率的关键策略
- 彭州百度SEO排名的提升策略和实施指南
- 广南百度关键词SEO:提升网站排名的关键策略
- 辽宁关键词优化怎么做论坛营销
- 吉林百度seo排名如何做到让用户满意
- 内黄百度优化服务:提升在线可见性的关键