`

div 一直处于屏幕中间

阅读更多

 

 

1 js 实现

  原理: 窗口滚动条滚动,不断调整div的位置

  

<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
 
 <body>  
<div style="position: absolute;height: 2000px;border: 1px solid green;"> <div style="margin-top: 400px">这个div用来撑起真个页面</div> </div>
<div id="fd" style="height:100px;width:100px;z-index:9999;border:1px solid red">  
	 中间<br><span id="pos"></span>
</div>  
</body>
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
<script language="javascript">  
   $(function() {  
	 $(window).scroll(function(){  
	    var point = getObjWh1( "fd" );  
	    $('#pos').html('x:'+point.x+',<br>y:'+point.y);
	    $('#fd').css( { position: "relative" , left: point.x , top:point.y  } );  
	});  
   });   
   
   function getObjWh1(obj){  
	  var point={};  
	  var st=$(document).scrollTop();//滚动条距顶部的距离  
	  var sl= $(document).scrollLeft();//滚动条距左边的距离  
	  var ch=$(window).height();//屏幕的高度  
	  var cw=$(window).width();//屏幕的宽度  
	  
	  var objH=$("#"+obj).height();//浮动对象的高度  
	  var objW=$("#"+obj).width();//浮动对象的宽度  

	  var objT=Number(st)+(Number(ch)-Number(objH))/2;  
	  var objL=Number(sl)+(Number(cw)-Number(objW))/2;  
	  point.x = objL ;  
	  point.y = objT;    
	  return point;  
	 
}  
 </script> 
</html>


 

 

 

 

 

2 css + div 实现div 始终显示屏幕中间

 

   原理:html 作为外层的容器一直都是窗口大小 ,如果内部东西超过边界则隐藏

             body 作为内层容器一直是窗口大小,内部内容高度大于窗口高度边界则滚动条滚动,但总体窗口位置一直不变

             内部不动的div是相对于窗口的位置,无论滚动条怎么滚动窗口不动,则这个div位置也不变化。

 

 

<html> <head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> </title> <style> 
*{ 
	padding:0px; margin:0px; 
	margin-right:10px;
	margin-bottom:10px;
} 

	html{border:4px solid red}
	/*height与width 改成 100%  这里方便观看现象*/
	body,html{height:98%; width:98%; } 
	html{overflow:hidden;} 
	body{overflow-y:auto } 
	.display{  position:absolute;  
		left:50%; top:50%;  
		height:300PX;  width:500PX;  
		margin-left:-250PX;  
		margin-top:-150PX;  
		border:1PX solid #F00;
	} 
</style> 
</head> 
<body style="border:4px solid red"> 
      
	<DIV style="height:2000PX;">测试滚动</DIV> 
	<DIV style="height:2000PX;">测试滚动 </DIV> 
	<DIV style="height:2000PX;">测试滚动</DIV> 
	<div class="display">11111</div> 

</body> 


</html>

 

 

 

 

 

分享到:
评论

相关推荐

    js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合.docx

    下面将逐一介绍如何让 DIV 元素分别处于屏幕的五个不同位置。 ##### 1. 屏幕中间 **CSS 部分** ```css #Javascript.Div1 { position: absolute; border: 2px solid red; background-color: #EFEFEF; line-...

    jquery弹出框

    以上代码确保了无论窗口大小如何变化,弹框始终处于屏幕中心。然而,如果页面滚动,弹框的位置可能会偏离。为解决这个问题,可以监听窗口的滚动事件并实时调整弹框位置: ```javascript $(window).on('scroll', ...

    CSS教程:完美的绝对底部

    当网页内容不足以填满整个屏幕时,传统的布局方式会让底部元素提前出现在页面中间,留下大片空白区域,这在视觉上并不理想。为了解决这个问题,设计师们寻求各种CSS解决方案,但有些方案可能在窗口尺寸调整时引发...

    支持三种状态的jQuery开关按钮插件

    &lt;div class="ij-toggler" data-toggle="on"&gt;&lt;/div&gt; ``` 这里,`data-toggle`属性用于设置初始状态('on'、'off' 或 'toggle')。 然后,通过jQuery选择器和插件方法激活ijToggler: ```javascript $(document)....

    将页脚固定在页面底部的CSS实战

    然而,页脚的定位问题时常困扰着开发者,特别是当页面内容不足以填满整个屏幕时,页脚可能会出现在页面的中间位置,而非预期的底部。为了解决这个问题,我们可以利用CSS(Cascading Style Sheets)来实现“固定页脚...

    附录示波器的介绍.pdf

    (4)触发位置:表示中心方格图与触发位置中间的(时间)偏差。 (5)指针:表示触发位准。 (6)读数:表示触发为准的数字值。 (7)图标:表明边沿触发的所选触发斜率。 (8)读数:表示用以触发的触发信源。 (9...

    tmp:Tmp

    这些数据可能是程序运行时的中间结果、缓存或者是一次性使用的文件。在本案例中,"tmp:Tmp"可能是一个特定项目或应用程序的临时工作空间。 "HTML"标签表明我们关注的是与超文本标记语言(HTML)相关的内容。HTML是...

    sitedeteste.github.io

    描述中的内容较为空白,可能意味着这个项目还处于初期阶段,或者它是一个测试站点,尚未填充详细信息。 【标签】"HTML" 指的是超文本标记语言(HyperText Markup Language),它是创建网页的标准标记语言。HTML与...

    web前端笔试面试

    - 使用`flex`布局,将元素设置为三列,中间列占据剩余空间。 - 或者使用`grid`布局实现。 **12. 常见兼容性问题?** - 浏览器解析差异。 - 版本间的CSS差异。 **13. li间空白间隔的原因及解决办法?** - **原因*...

    《程序天下:JavaScript实例自学手册》光盘源码

    15.12 设置textarea中的图片不处于编辑状态 15.13 禁止图像的拷贝 15.14 LOGO像雪花一样落下 15.15 多幅图片分页滚动显示 15.16 循环滚动显示图片 15.17 图片的选择展示 15.18 163图片新闻切换效果 15.19 判断上传...

    程序天下:JavaScript实例自学手册

    15.12 设置textarea中的图片不处于编辑状态 15.13 禁止图像的拷贝 15.14 LOGO像雪花一样落下 15.15 多幅图片分页滚动显示 15.16 循环滚动显示图片 15.17 图片的选择展示 15.18 163图片新闻切换效果 15.19 判断上传...

Global site tag (gtag.js) - Google Analytics