首先这个元素position为fixed
top为(clientHeight-elem.offsetHeight)/2(即元素在浏览器的中间,这个是固定的)
left为(clientWidht-主体宽度)/2+主体宽度+左边距,左边距可以设为正数,也可以为负数,如果为负数时的绝对值 等于 主体宽度+elem.offsetWidht,那么元素就刚好浮动在页面主体的左边,设置为0时,刚好浮动在页面主体的右边
但是万恶的ie6不支持css中fixed属性,好在ie6可以通过expresion表达式来解决,万事大吉
具体看代码:
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>左右浮动元素</title>
<style type="text/css">
html{_background-image:url(about:blank);_background-attachment:fixed;/*针对ie6,解决窗口滚动时的抖动*/}
body{margin:0;padding:0;}
.box-wrap{width:990px;margin:0 auto;height:5000px;background:#999;}
.pos-id{width:50px;height:200px;line-height:200px;background:#F00;
/*针对ie6*/
_position:absolute;
_bottom:auto;
_top:expression(eval(document.documentElement.scrollTop+(document.documentElement.clientHeight-this.offsetHeight)/2-
(parseInt(this.currentStyle.marginTop)||0)-(parseInt(this.currentStyle.marginBottom)||0)));
/*其中的_top为浏览器的垂直居中线上,left在js定义中*/
}
.pos-id a{color:#FFF;font-size:12px;}
</style>
</head>
<body>
<div class="box-wrap" id="box-wrap">
<div class="pos-id" id="pos-id">
<a href="https://www.jb51.net/" title="" target="_blank"></a>
</div>
</div>
<script language="javascript">
window.onload = function(){
/*
----------------------------------
定义一个浏览器左右浮动元素相对于页面主体宽度的位置的函数
----------------------------------
*/
function setScrollDivPos(elemId_str,main_width,m_left){
//自定义一个获取元素的函数
$ = function(id){return document.getElementById(id);};
//获取浏览器在标准模式和混杂模式的视口大小
var c_width = document.documentElement.clientWidth || document.body.clientWidth;
var c_height = document.documentElement.clientHeight || document.body.clientHeight;
//获取浏览器滚动时顶部被隐藏的像素大小
//var s_top = document.documentElement.scrollTop || document.body.scrollTop;
//获取浏览器视口宽度减去页面主题宽度的一半
var half_width = (c_width - main_width)/2;
//获取浏览器视口高度的一半
var half_height = c_height/2;
//获取元素的高度
var elem_height = $(elemId_str).offsetHeight;
//获取元素相对于页面主体的(左、上)相对位置
var pos_left = main_width + half_width + m_left + "px";
var pos_top = (c_height - elem_height)/2 + "px";
//获取浏览器顶部的滚动大小
//var s_top = document.documentElement.scrollTop || document.body.scrollTop;
//对元素进行定位布局
if(window.XMLHttpRequest){
$(elemId_str).style.cssText = 'position:fixed;top:' + pos_top + ';left:' + pos_left + ';';
}else{
$(elemId_str).style.cssText = ';left:' + pos_left + ';';
}
}
//定义id为pos-id的元素 在页面主题宽度为990px的左侧
//setScrollDivPos("pos-id",990,-1040);
//定义id为pos-id的元素 在页面主题宽度为990px的右侧
setScrollDivPos("pos-id",990,0);
}
</script>
</body>
</html>
top为(clientHeight-elem.offsetHeight)/2(即元素在浏览器的中间,这个是固定的)
left为(clientWidht-主体宽度)/2+主体宽度+左边距,左边距可以设为正数,也可以为负数,如果为负数时的绝对值 等于 主体宽度+elem.offsetWidht,那么元素就刚好浮动在页面主体的左边,设置为0时,刚好浮动在页面主体的右边
但是万恶的ie6不支持css中fixed属性,好在ie6可以通过expresion表达式来解决,万事大吉
具体看代码:
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>左右浮动元素</title>
<style type="text/css">
html{_background-image:url(about:blank);_background-attachment:fixed;/*针对ie6,解决窗口滚动时的抖动*/}
body{margin:0;padding:0;}
.box-wrap{width:990px;margin:0 auto;height:5000px;background:#999;}
.pos-id{width:50px;height:200px;line-height:200px;background:#F00;
/*针对ie6*/
_position:absolute;
_bottom:auto;
_top:expression(eval(document.documentElement.scrollTop+(document.documentElement.clientHeight-this.offsetHeight)/2-
(parseInt(this.currentStyle.marginTop)||0)-(parseInt(this.currentStyle.marginBottom)||0)));
/*其中的_top为浏览器的垂直居中线上,left在js定义中*/
}
.pos-id a{color:#FFF;font-size:12px;}
</style>
</head>
<body>
<div class="box-wrap" id="box-wrap">
<div class="pos-id" id="pos-id">
<a href="https://www.jb51.net/" title="" target="_blank"></a>
</div>
</div>
<script language="javascript">
window.onload = function(){
/*
----------------------------------
定义一个浏览器左右浮动元素相对于页面主体宽度的位置的函数
----------------------------------
*/
function setScrollDivPos(elemId_str,main_width,m_left){
//自定义一个获取元素的函数
$ = function(id){return document.getElementById(id);};
//获取浏览器在标准模式和混杂模式的视口大小
var c_width = document.documentElement.clientWidth || document.body.clientWidth;
var c_height = document.documentElement.clientHeight || document.body.clientHeight;
//获取浏览器滚动时顶部被隐藏的像素大小
//var s_top = document.documentElement.scrollTop || document.body.scrollTop;
//获取浏览器视口宽度减去页面主题宽度的一半
var half_width = (c_width - main_width)/2;
//获取浏览器视口高度的一半
var half_height = c_height/2;
//获取元素的高度
var elem_height = $(elemId_str).offsetHeight;
//获取元素相对于页面主体的(左、上)相对位置
var pos_left = main_width + half_width + m_left + "px";
var pos_top = (c_height - elem_height)/2 + "px";
//获取浏览器顶部的滚动大小
//var s_top = document.documentElement.scrollTop || document.body.scrollTop;
//对元素进行定位布局
if(window.XMLHttpRequest){
$(elemId_str).style.cssText = 'position:fixed;top:' + pos_top + ';left:' + pos_left + ';';
}else{
$(elemId_str).style.cssText = ';left:' + pos_left + ';';
}
}
//定义id为pos-id的元素 在页面主题宽度为990px的左侧
//setScrollDivPos("pos-id",990,-1040);
//定义id为pos-id的元素 在页面主题宽度为990px的右侧
setScrollDivPos("pos-id",990,0);
}
</script>
</body>
</html>
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月30日
2024年11月30日
- 群星1995《摇滚中国乐势力》首版引进版[WAV+CUE][983M]
- 陈思安《32首酒廊情调》2CD新雅(国际)影碟[WAV+CUE]
- 齐豫潘越云《回声》K2HD[正版原抓WAV+CUE]
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]