ie6 position-fixed解决方案
要在古老的IE6浏览器中实现元素的固定定位效果,即使用`position: fixed;`,确实会遇到一些挑战。目前,我们主要可以通过纯CSS和JavaScript的expression结合的方式来实现这一效果。
1. 纯CSS方法
这种方法利用IE6的一个特性,即在html元素外的匿名元素,通过控制选择器层级来定制IE6下的效果。具体代码如下:
```css
html {
overflow-y: hidden;
/ 这只是定制垂直滚动的fixed效果 /
}
html body {
overflow-y: auto;
height: 100%;
}
html fixedbox {
/ 将要固定的元素位置设置为绝对 /
position: absolute;
}
```
这种方法有一个明显的缺点,那就是在IE6中,所有使用`position: absolute;`的元素都会被设置为固定不动。当页面存在其他绝对定位的元素时,这种方法就不适用了。
2. JavaScript方法
此方法的原理是利用JavaScript不断改变绝对定位元素的`scrolltop`值,以达到类似固定的效果。例如:
```css
fixedbox {
position: fixed;
top: 250px;
/ for IE6 /
_position: absolute;
_top: expression(documentElement.scrollTop + 250 + "px");
}
```
虽然这种方法可以有效地模拟固定定位效果,但在滚动时可能会出现闪烁问题。为了解决这个问题,我们可以给滚动元素的父元素(通常是body)设置一个背景图像,并将`background-attachment`设置为`fixed`。这样一来,即使滚动,背景图像也会保持固定。完整的代码如下:
```css
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虽然会对性能产生一定影响,但在某些情况下,这是一种有效的模拟固定定位的方法。值得注意的是,如果body中需要设置背景图像,可以直接在html标签中添加固定的空白背景图像。
网站源码
- ie6 position-fixed解决方案
- 3DMAX怎么设置vray为默认材质和渲染引擎-
- 掌握用光技巧让你的图片变漂亮
- CSS 容器背景 10 种颜色渐变Demo(linear-gradient())
- INdesign矩形怎么制作成角花画框效果-
- 今日头条回应侵权论 称一切系误会
- 共存还是死亡? QQ与微信的那点事
- cdr文件怎么导出为PDF格式-
- 宏碁swift3值得买吗?宏碁蜂鸟swift3银色版全面深
- 拨开云雾看网赚-千万别让软文蒙蔽了你的眼
- 网页制作之学习CSS的理由
- Win10运行魔兽世界等游戏时出现卡顿(掉帧、掉线
- hdmi接口是什么意思?hdmi又是什么意思?
- Fireworks怎么把图片尺寸变小呢-
- CorelDRAW制作抖音LOGO教程
- 响应式WEB设计学习(1)—判断屏幕尺寸及百分比的