当前位置:首页> 正文
IE6 fixed的完美解决方案
第一种方法:纯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://imgbuyun.weixiu-service.com/up79/202210/fid1o225wbm.dtd"
html xmlns="http://imgbuyun.weixiu-service.com/up79/202210/2e0hvzwezow"
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.webp);
background-attachment: scroll;
}
第二种方法 JavaScript
复制代码 代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://imgbuyun.weixiu-service.com/up79/202210/fid1o225wbm.dtd"
html xmlns="http://imgbuyun.weixiu-service.com/up79/202210/2e0hvzwezow"
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实现思路
目前网上有的比较多的是这种解决方案(纯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://imgbuyun.weixiu-service.com/up79/202210/fid1o225wbm.dtd"
html xmlns="http://imgbuyun.weixiu-service.com/up79/202210/2e0hvzwezow"
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.webp);
background-attachment: scroll;
}
第二种方法 JavaScript
复制代码 代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://imgbuyun.weixiu-service.com/up79/202210/fid1o225wbm.dtd"
html xmlns="http://imgbuyun.weixiu-service.com/up79/202210/2e0hvzwezow"
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实现思路
展开全文阅读
相关内容
-
利用picsart设置透明特效的方法介绍
利用picsart设置透明特效的方法介绍,方法,透明,设置,调整,选...
-
酷狗音乐设置酷狗屏保的操作步骤
酷狗音乐设置酷狗屏保的操作步骤,酷狗,屏保,设置,酷狗音乐,界...
-
ie 7/8不支持trim的属性的解决方案
ie 7/8不支持trim的属性的解决方案,方法,复制,浏览器,属性,解...
-
IE6下css设置容器高度的BUG不能小于某个值
IE6下css设置容器高度的BUG不能小于某个值,设置,空标签,外边...
-
微信键盘设置在哪里 微信键盘设置方法
微信键盘设置在哪里 微信键盘设置方法,键盘设置,微信,方法,键...
-
微信键盘皮肤怎么设置 微信键盘皮肤在哪换
微信键盘皮肤怎么设置 微信键盘皮肤在哪换,键盘皮肤,微信,设...
-
ie与session丢失(新窗口cookie丢失)实测及解决
ie与session丢失(新窗口cookie丢失)实测及解决方案,丢失,新窗...
-
ie11兼容模式在哪?IE11兼容模式怎么设置
ie11兼容模式在哪?IE11兼容模式怎么设置,兼容模式,设置,网站,...
-
IE10下Gridview后台设置行高不起作用解决方法
IE10下Gridview后台设置行高不起作用解决方法,行高,后台,解决...
-
教你通过命令行完美完全的卸载IE浏览器(IE9、IE
教你通过命令行完美完全的卸载IE浏览器(IE9、IE10、IE11),卸...
-
如何彻底优化IE浏览器 六种设置方法轻松优化你
如何彻底优化IE浏览器 六种设置方法轻松优化你的IE浏览器,方...
-
使用X-UA-Compatible来设置IE浏览器兼容模式
使用X-UA-Compatible来设置IE浏览器兼容模式,模式,兼容性,网...
-
WIN7操作系统下做好IE6,IE7的兼容性测试
WIN7操作系统下做好IE6,IE7的兼容性测试,兼容性测试,版本,安...
-
为ie和chrome单独设置样式的方法
为ie和chrome单独设置样式的方法,设置,方法,这是,复制,样式,...
-
IE 6不支持min-height或max-width等属性的完美
IE 6不支持min-height或max-width等属性的完美解决方案,完美,...