第一种方法:纯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.scrollTop50"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
推荐阅读
- 使用PDF24 Creator压缩PDF文件的操作方法
- IE6的双倍,3px,注释引起的文字错位等几个BUG解决方法
- 新星VCD视频格式转换器将3gp转换成MP4的方法步骤
- 小米12system进程无响应
- 针对夏新E850手机的选购指南
- 多出一行字 解决在IE6下文字溢出的解决方法小结
- 测甲醛前需关闭门窗多久
- Bandisoft Bandicam选取区域录制电脑屏幕的操作方法
- 吸尘器那个积尘筒怎么打开
- 操作系统为WindowsXP A865手机GPRS Modem拨号上网的设置