利用onresize使得div可以随着屏幕大小而自适应的代码
代码 利用 可以 大小 屏幕 div 适应 使得
2023-06-13 09:14:15 时间
当我们让div居中时候,一般有两种方法,一种是固定左右宽度,也就是使用像素绝对定位;另一种是用百分比来相对定位,在这种两种方式下,绝对定位是不能让div随着屏幕而自适应的,而用百分比就可以,但是,是用百分比就会有一个新的问题,如果我们的页面中有这么一句
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的时候,top的百分比将会失效,而删除这句话的时候,一切正常,都是不知道这句标准的声明为什么会带来如此的不便
针对这个问题,我使用的下面的方法来实现div的自适应
首先我用的是绝对定位的方式,先设置好div的左右上下边距。在body中添加两个事件,
<bodybgcolor="#666666"onresize="test()"onload="getwah()">
getwah()用来获取屏幕的大小和div的各个边距,并计算出它们的差
复制代码代码如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的时候,top的百分比将会失效,而删除这句话的时候,一切正常,都是不知道这句标准的声明为什么会带来如此的不便
针对这个问题,我使用的下面的方法来实现div的自适应
首先我用的是绝对定位的方式,先设置好div的左右上下边距。在body中添加两个事件,
<bodybgcolor="#666666"onresize="test()"onload="getwah()">
getwah()用来获取屏幕的大小和div的各个边距,并计算出它们的差
varheight,width,width_cha1,width_cha2;
functiongetwah()
{
if(document.documentElement&&document.documentElement.clientWidth)
{d_width=document.documentElement.clientWidth;}
elseif(document.body)
{d_width=document.body.clientWidth;}
width=parseInt(d_width);
width_cha1=width-parseInt(document.getElementById("backi").style.left)
width_cha2=width-parseInt(document.getElementById("massage_box").style.left)
}
当屏幕大小变化的时候(onresize)触发test()函数,该函数就是用户根据之前获得屏幕与边距的差值重新设置div的边距,这样就可以实现党屏幕的大小改变后,div的边距也会相应地改变,从而实现div可以随着屏幕大小的改变而自适应
functiontest()
{
if(document.documentElement&&document.documentElement.clientWidth)
{d_width=document.documentElement.clientWidth;}
elseif(document.body)
{d_width=document.body.clientWidth;}
varnow_left1=parseInt(d_width)-width_cha1;
varnow_left2=parseInt(d_width)-width_cha2;
document.getElementById("backi").style.left=now_left1
document.getElementById("massage_box").style.left=now_left2
}
相关文章
- 日拱一卒,伯克利教你用Lisp写递归,写完后我感觉代码更溜了
- matlab 加权回归估计_matlab代码:地理加权回归(GWR)示例
- 为Zblog、WordPress等网站添加JS纯代码雪花飘落效果
- python常用工具代码详解编程语言
- 推荐提升工作效率:MongoDB 代码推荐(mongodb代码)
- 关系分析利用Neo4j挖掘代码关系(neo4j代码)
- DedeCMS全版本通杀SQL注入漏洞利用代码及工具
- MySQL代码红色化让你的代码更加醒目易读(mysql中代码变为红色)
- 提升网站性能利用Redis缓存优化代码(应用redis缓存代码)
- 利用Redis让你的代码更快运行(为什么要用到redis)
- 利用Oracle实现程序代码加密(oracle 代码加密)
- 利用PHP制作简单的内容采集器的代码
- ASP利用XMLHTTP实现表单提交以及cookies的发送的代码
- asp.net中利用ashx实现图片防盗链代码
- JS强制设为首页的代码
- 利用jQuery操作对象数组的实现代码
- 利用JS自动打开页面上链接的实现代码
- 利用JQuery动画制作滑动菜单项效果实现步骤及代码
- Android简单的利用MediaRecorder进行录音的实例代码
- ExtJS[Desktop]实现图标换行示例代码
- 利用JavaScript实现新闻滚动效果(实例代码)
- 用ajax实现读博客rss示例代码
- js实现ArrayList功能附实例代码
- Android设置全屏代码分享