当前位置:首页> 正文
IE6不兼容position:fixed属性的解决办法分享
position: fixed;这个属性用起来确实很方便,可以轻松的实现固定位置的浮动层效果。但是,它不支持IE6及以下版本。于是很多同学使用JS模拟。今天写了一个DEMO,涉及左侧、右侧。及上下两边,共四种位置的固定,与以往的教程不同的地方是,它使用CSS表达式来兼容IE5、IE6,且避免了js模拟时,拖动滚动条时出现抖动的问题,另外在IE5或者怪癖模式下也完全正常,没有任何问题。如果你有更好的方案,欢迎来喷我。
下面是代码
复制代码代码如下:
!DOCTYPE HTML
html
head
meta charset="utf-8"
titleposition: fixedwebjx.com/title
style type="text/css"
* {
padding: 0;
margin: 0;
}
#content {
height: 5000px;
width: 50%;
border-right: 10px dotted red;
}
#demo_t, #demo_b, #demo_l, #demo_r {
background: #f90;
position: fixed;
}
#demo_t, #demo_b {
left: 0;
width: 100%;
}
#demo_l, #demo_r {
width: 50px;
top: 300px;
}
#demo_t {
top: 0;
}
#demo_b {
bottom: 0;
}
#demo_l {
left: 0;
}
#demo_r {
right: 0;
}
/style
!--[if lte IE 6]
style type="text/css"
html {
/*这个可以让IE6下滚动时无抖动*/
background: url(about:black) no-repeat fixed
}
#demo_t, #demo_b, #demo_l, #demo_r {
position: absolute;
}
#demo_t, #demo_b {
/*这个解决body有padding时,IE6下100%不能铺满的问题*/
width: expression(offsetParent.clientWidth);
}
/*下面三组规则用于IE6下top计算*/
#demo_l, #demo_r {
top: expression(offsetParent.scrollTop + 300);
}
#demo_t {
top: expression(offsetParent.scrollTop);
}
#demo_b {
top: expression(offsetParent.scrollTop + offsetParent.clientHeight-offsetHeight);
}
/style
![endif]--
/head
body
div id="demo_t"此处显示 id "demo" 的内容/div
div id="demo_b"此处显示 id "demo" 的内容/div
div id="demo_l"此处显示 id "demo" 的内容/div
div id="demo_r"此处显示 id "demo" 的内容/div
div id="content"/div
/body
/html
建议在实际使用时,将IE条件注释中的代码放在单独的css文件中,以便节约其他浏览器的流量。
顺便顶一下微软的这个项目,现在有中文版了,建议广大前端er加入这一行列,尽快灭亡IE6
下面是代码
复制代码代码如下:
!DOCTYPE HTML
html
head
meta charset="utf-8"
titleposition: fixedwebjx.com/title
style type="text/css"
* {
padding: 0;
margin: 0;
}
#content {
height: 5000px;
width: 50%;
border-right: 10px dotted red;
}
#demo_t, #demo_b, #demo_l, #demo_r {
background: #f90;
position: fixed;
}
#demo_t, #demo_b {
left: 0;
width: 100%;
}
#demo_l, #demo_r {
width: 50px;
top: 300px;
}
#demo_t {
top: 0;
}
#demo_b {
bottom: 0;
}
#demo_l {
left: 0;
}
#demo_r {
right: 0;
}
/style
!--[if lte IE 6]
style type="text/css"
html {
/*这个可以让IE6下滚动时无抖动*/
background: url(about:black) no-repeat fixed
}
#demo_t, #demo_b, #demo_l, #demo_r {
position: absolute;
}
#demo_t, #demo_b {
/*这个解决body有padding时,IE6下100%不能铺满的问题*/
width: expression(offsetParent.clientWidth);
}
/*下面三组规则用于IE6下top计算*/
#demo_l, #demo_r {
top: expression(offsetParent.scrollTop + 300);
}
#demo_t {
top: expression(offsetParent.scrollTop);
}
#demo_b {
top: expression(offsetParent.scrollTop + offsetParent.clientHeight-offsetHeight);
}
/style
![endif]--
/head
body
div id="demo_t"此处显示 id "demo" 的内容/div
div id="demo_b"此处显示 id "demo" 的内容/div
div id="demo_l"此处显示 id "demo" 的内容/div
div id="demo_r"此处显示 id "demo" 的内容/div
div id="content"/div
/body
/html
建议在实际使用时,将IE条件注释中的代码放在单独的css文件中,以便节约其他浏览器的流量。
顺便顶一下微软的这个项目,现在有中文版了,建议广大前端er加入这一行列,尽快灭亡IE6
展开全文阅读
相关内容
-
禁用IE10的密码明文显示和快速清除功能的方法
禁用IE10的密码明文显示和快速清除功能的方法,快速,清除,密码...
-
如何将腾讯视频VIP分享给好友?
如何将腾讯视频VIP分享给好友?,分享,腾讯视频,视频客户端,方法...
-
雷电模拟器怎么设置连发 雷电模拟器设置连发的
雷电模拟器怎么设置连发 雷电模拟器设置连发的简单教程,设置,...
-
腾讯新闻如何绑定分享平台 腾讯新闻绑定分享平
腾讯新闻如何绑定分享平台 腾讯新闻绑定分享平台的具体教程,...
-
怎么将酷狗铃声分享给好友 酷狗铃声中分享给好
怎么将酷狗铃声分享给好友 酷狗铃声中分享给好友的方法,分享,...
-
如何分享百度网盘中保存的文件?
如何分享百度网盘中保存的文件?,盘中,文件,百度网,分享,点击,...
-
电脑开机后桌面不显示怎么办?
电脑开机后桌面不显示怎么办?,桌面,显示,开机,点击,任务管理器...
-
如何设置Bandizip右键菜单显示 Bandizip右键菜
如何设置Bandizip右键菜单显示 Bandizip右键菜单显示教程,显...
-
百度网盘上的资源怎么分享?
百度网盘上的资源怎么分享?,分享,百度网盘,链接,文件,选择,资...
-
如何将腾讯视频分享到朋友圈 腾讯视频分享到朋
如何将腾讯视频分享到朋友圈 腾讯视频分享到朋友圈的具体步...
-
iPhone如何显示锁屏天气?
iPhone如何显示锁屏天气?,锁屏天气,显示,方法,选择,设置,教程,...
-
华华文件属性修改器怎么使用?
华华文件属性修改器怎么使用?,文件,文件属性,选择,怎么使用,属...
-
IE9不能显示登陆密码图片怎么办?
IE9不能显示登陆密码图片怎么办?,显示,处理方法,网页,提示,输...
-
打开U盘时显示拒绝访问怎么办?
打开U盘时显示拒绝访问怎么办?,拒绝访问,显示,选项,操作,读写,...
-
有道云协作该怎样分享内链?
有道云协作该怎样分享内链?,分享,有道云协作,复制,文件,链接,...