浏览器
双核浏览器
游戏浏览器
高速浏览器
视频浏览器
IE浏览器
浏览器周边
手机浏览器
安卓游戏
音乐舞蹈
养成游戏
儿童游戏
仙侠手游
角色扮演
策略塔防
休闲益智
动作冒险
飞行射击
模拟经营
体育运动
赛车竞速
网络游戏
安卓软件
资讯阅读
生活服务
影音播放
购物理财
效率办公
趣味娱乐
交通出行
学习教育
摄影图像
在线音乐
系统工具
网络购物
聊天工具
安全杀毒
图片编辑
新闻资讯
软件资讯
游戏资讯
手机教程
手游攻略
游戏攻略
软件教程
IE专区
安卓专题
文章合集
电脑软件专题
安全软件
杀毒软件
系统安全
加密解密
防火墙
远程控制
木马查杀
影音软件
网络电视
视频播放
音乐播放
视频制作
音频编辑
录音录像
教育学习
外语学习
教育管理
早教启蒙
在线课堂
成人教育
资格考试
聊天社交
即时通讯
视频聊天
在线交友
变声器
表情包
办公软件
线上会议
文档管理
行业管理
考勤打卡
应用工具
输入法
下载工具
时钟日历
记事本
文件管理
计算器
编程开发
编程工具
JAVA相关
加壳脱壳
编程控件
数据库
网页源码
软件开发
补丁制作
系统美化
桌面制作
壁纸大全
系统主题
屏幕保护
桌面辅助
系统软件
系统优化
备份还原
系统检测
U盘工具
磁盘工具
驱动补丁
图文处理
图片素材
图像处理
图片制作
图片压缩
电子相册
抓图工具
其他软件
电子书籍
模拟器
辅助工具
交通出行
手机管理
其他工具
素材下载
字体素材
PPT素材
专区
文章合集
软件
游戏
浏览器
安卓专题
软件
游戏
浏览器
IEfans/ IE专区/ IE动态 /IE6 fixed的完美解决方案

IE6 fixed的完美解决方案

2023-06-26 18:00:02 编辑:匿名

第一种方法:纯CSS
目前网上有的比较多的是这种解决方案(纯CSS):
复制代码 代码如下:
html{overflow:hidden;}
body{height:100%;overflow:auto;}
#rightform form{position:absolute;right:30px;top50px;}

  这个方法有一个bug未解决:在IE6下会把所有position:absolute都变成“浮动”的元素;还有使用js方法滚动滚动条时会出现对象闪烁,如下方法结合了CSS和js的办法,解决了以上的问题。
复制代码 代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml"
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titleIE6 fixed/title
style type="text/css"
*
{
margin: 0px;
padding: 0px;
}
body {
_background-image: url(about:blank); /*用浏览器空白页面作为背景*/
_background-attachment: fixed; /* prevent screen flash in IE6 确保滚动条滚动时,元素不闪动*/
}
#topNav {
width: 980px;
z-index: 100; /*设置浮动层次*/
overflow: visible;
position: fixed;
top: 50px; /* 其他浏览器下定位,在这里可设置坐标*/
_position: absolute; /*IE6 用absolute模拟fixed*/
_top: expression(documentElement.scrollTop + 50 + "px"); /*IE6 动态设置top位置*/
/* documentElement.scrollTop 设置浮动元素始终在浏览器最顶,可以加一个数值达到排版效果 */
background-color:#0000FF;
height: 31px;
}
.show{
position:absolute;
top:500px;
left:400px;
border:#ff0000 1px solid;
}
/style
/head
body
div class="jd_menu" id="topNav"1111/div
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
br /br /br /br /br /br /br /br /br /
div class="show"show/div
/body
/html

只实现了垂直方向的fixed。若要实现水平方向的fixed,设置_left:expression(documentElement.scrollLeft + "px");
  利用给body设置固定的背景,防止滚动条滚动时的闪动;如果body中要设置滚动的背景而产生冲突,可以把代码写在html选择器里面,如:
复制代码 代码如下:
html {
_background-image: url(about:blank);
_background-attachment: fixed; /* prevent screen flash in IE6 */
}
body {
background-image: url(1.jpg);
background-attachment: scroll;
}

第二种方法 JavaScript
复制代码 代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml"
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
style type="text/css"
body{ margin:0px; padding:0px; font-size:12px; line-height:22px;}
p{ margin:0px; padding:36px;}
.float2{ position:absolute; padding:26px; border:#999999 3px solid; background-color:#3399FF; right:200px; top:200px;}
.fixed{ position:absolute; right:60px; top:100px; border:#666666 3px solid; background-color:#CCCCCC; padding:26px;}
/style
script language="javascript" type="text/javascript"
window.onload=function(){
var n=100; //top值
var obj=document.getElementById("fixed"); //position:fixed对象
window.onscroll=function(){obj.style.top=(document.body.scrollTop||document.documentElement.scrollTop)+n+'px';}
window.onresize=function(){obj.style.top=(document.body.scrollTop||document.documentElement.scrollTop)+n+'px';}
}
/script
titleposition_fixed测试/title
/head
body
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
p测试内容........./p
div class="float2"浮动的内容2/div
div class="fixed" id="fixed"我的位置是固定的!拉动滚动条看效果。/div
/body
/html

ie6对postion:fixed的完美解决方案
今天去一老外站看到了这他站上的十分平滑但却没有js,好奇,原来。。巧妙啊,分享下,相对而言比较节省资源。但效果好,使用方便,兼顾w3c。哈哈
!-- compliance patch for microsoft browsers --
!--[if lt IE 7]link rel="stylesheet" href="ie-stuff.css" type="text/css" media="screen"/![endif]--
ie-stuff.css
复制代码 代码如下:
#footer {
position: absolute;
bottom: auto;
clear: both;
top:expression(eval(document.compatMode
}

您可能感兴趣的文章:

  • JS中toFixed()方法引起的问题如何解决
  • iphone safari不支持position fixed的解决方法
  • capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
  • JavaScript toFixed() 方法
  • 跨浏览器的实践:position:fixed 层的固定定位
  • IE6支持position:fixed完美解决方法
  • javascript ie6兼容position:fixed实现思路

相关推荐

浏览器更新