如何让网页自动适应显示器不同的“分辨率”?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让网页自动适应显示器不同的“分辨率”?相关的知识,希望对你有一定的参考价值。
这里以魅族浏览器为例,其中的具体步骤如下:
1、手机打开浏览器之后,在中间位置点击【三】。
2、在中间位置点击【三】之后,点击里面的【设置】。
3、点击里面的【设置】之后,继续点击【主页】。
4、这样一来如果没问题,启动【网页自适应屏幕】即可让网页自动适应显示器不同的“分辨率”了。
参考技术A1、打开一个网页,在网页的右上方找到一个“查看”选项。
2、点击“查看”选项,下面出现一个下拉菜单,找到“网页缩放”选项。
3、把鼠标移动到“网页缩放”选项上,自动弹出一个列表菜单,里面就是缩放的比例,只要选择默认也就是100%就OK了,网页就能满屏适应电脑界面了。
参考技术B 如何让网页适应不同分辨率解决思路:
在不同分辨率下看到的网页版面格式有很大差别,甚至有可能错位。导致这种差别的原因,主要是因为网页中用了绝对定位的层,并且页面内容设置为居中,这样在分辨率改变时就会导致错位。因此我们可以通过判断用户的分辨率,然后让页面或排版做出相应变化。
方法一:做为不同的分辨率做不同的页,然后做个引导页,获取到客户端屏幕的分辨率后转向到相应页
具体步骤:
1. 先捕获用户的分辨率。
水平分辨率:screen.width
垂直分辨率:screen.height
2.再用页面跳转的方法转到相应页。
location.replace(screen.width+".htm")
或者:
location.replace(screen.height+".htm")
3.完整代码。
<script language="javascript">
<!--
location.replace(screen.width+".htm");
//-->
</script>
技巧:screen.width 也可以改成 screen.availWidth。
提示:
l language="JavaScript" 指定脚本所用语言为 JavaScript,大部分浏览器的默认客户端脚本语言就是 JavaScript,所以也可以省略不写。
l <!-- 和 //--> 两个标识的作用是通知不支持 JavaScript 浏览器忽略两标识间的所有 JavaScript 代码,一般情况下可以省略不写。
l JavaScript 语句与 C 语言一样用分号”;”结束,但也可以省略不写,每一新行表示开始一条新语句。
l screen.width+".htm" 在进行字符串连接后得到诸如 800.htm,1024.htm 之类的文件名。
l 可以在把完整代码存成单独一页作为引导页。
试一试:读者可以试着用assign方法实现页面跳转。
方法二:根据文档显示区域宽度重新调整层的定位。
具体步骤:
1. 获取文档显示区域的宽度。
document.body.offsetWidth
2.判断对象是否为层。
function isLayer(obj)
with(obj.currentStyle)
return (position=="absolute"&&left!="")
3.完整代码。
<script language="JavaScript">
<!--
function isLayer(obj) //判断对象是否为层的函数
/*不用 style 而用 currentStyle 的原因是因为有些层不是直接在标签内写 CSS 的,这时用 style 取不到值*/
with(obj.currentStyle) //返回布尔值true或false
return (position=="absolute"&&left!="")
//800为800X600分辨率下窗口最大化时document.body.offsetWidth的值
var iWidth=800
window.onload=function init()
//匹配页面中所有标签名为DIV元素,以数组形式返回对象
var divs=document.getElementsByTagName("DIV")
for(var i=0;i<divs.length;i++)//遍历所有DIV标签
if(isLayer(divs[i]))//判断对象是否为层,是则调整它的 X 坐标
divs[i].runtimeStyle.posLeft=parseInt(divs[i].currentStyle.left)+(document.body.offsetWidth-iWidth)/2
iWidth=document.body.offsetWidth //保存当前文档显示区域的宽度
//-->
</script>
<body onresize="init()">
<div id=demo style="position:absolute;left:50px;top:100px;width:200px;height:200px;border:1px solid #000">Layer1</div>
<div id=demo1 style="position:absolute;left:250px;top:50px;width:200px;height:200px;border:1px solid #000">Layer2</div>
注意:
l 必须确保所有层的标签为 DIV。
l 程序中的 demo 和 demo1 两个层只是测试用的,在实际就用时可以删掉。
技巧:如果所有层都是直接在标签内的定义的,可以把 currentStyle 和runtimeStyle 改成 style。
提示:
l JavaScript 的单行注释是以一对正斜杠”//”开始,多行注释以一个正斜杠加一个星号的组合(/*)开始,并以其逆向顺序 (*/)结束。
l window.onload 表示在页面加载完成后触发。
l onresize="init()" 表示在窗口大小改变时触发名为 init 的函数。
分析:屏幕分辨率先是影响到文档显示区域宽度(document.body.offsetWIdth)大小,然后文档显示区域宽度大小进一步影响到层的X轴定位和页面内容居中部分的相对位置,所以只要根据文档显示区域宽度大小来重新调整层的X轴坐标就行了。
特别提示
Javascript脚本的代码原则上是要求放在代码的 <head> 与 </head> 间,但放到其它标签窗口内也可以正常运行,方法二中代码运行后效果如图 3.1 和 3.2 所示:
图 3.1 窗口最大化时层的
图 3.2 窗口缩小后的层的位置
特别说明
方法一中用到了 location 对象的 replace 和 assign 方法来加载目标文档。
1. location对象的replace方法是将指定的文档替换当前文档。
2. location对象的assign方法是装入新的html文档。
方法二中用了 currentStyle、runtimeStyle 和 style 三个对象来捕获目标对象的样式设置。
1. currentStyle对象代表在全局样式表、内嵌样式和 HTML 标签属性中指定的对象格式和样式。
2. runtimeStyle对象代表居于全局样式表、内嵌样式和 HTML 标签属性指定的格式和样式之上的对象的格式和样式。
3. style对象代表给定元素所有可能的内嵌样式的当前设置
参考资料:http://www2.flash8.net/teach/4020.htm
本回答被提问者采纳如何让网页在浏览器自适应屏幕大小?
想要网页宽度自适应,需要把网页元素宽度设置为百分比,还要在网页头部加上代码:<metaname="viewport"content="width=device-width,initial-scale=1.0"/>。
图片自适应,且不超过原始大小,需要设置最大宽度,代码如下:img width:100%; max-width:100%;。
改进功能
浏览器首次使用时,根据用户显示分辨率大小决定是否默认显示收藏栏;
打开多个标签关闭浏览器时,提示用户确认;
搜索栏关键词提示;
搜索栏支持多个搜索引擎;5.内核窗口resize速度
1、在网页头部加上这样一条meta标签:<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
解释:
width=device-width :宽度等于设备屏幕的宽度
initial-scale=1.0:表示:初始的缩放比例
minimum-scale=0.5:表示:最小的缩放比例
maximum-scale=2.0:表示:最大的缩放比例
user-scalable=yes:表示:用户是否可以调整缩放比例
另外:如果想控制字体的大小的话,应该使用相对大小,可以用下面这段代码,一般不用也可,这里只是说明一种方法。
相对大小的字体
字体也不能使用绝对大小px,而只能使用相对大小em。
body font: normal 100% Helvetica, Arial, sans-serif;
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
h1 font-size: 1.5em;
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
small font-size: 0.875em;
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
2、让网页适应不同的浏览器
浏览器的格局现在是两分天下,一分是IE,另一分是NetScape,在国内Ie有绝对的占有率,在这种情况下我们设计的网页只要兼容它就行了,但NetScape在国外还是有很多人使用,毕竟它是浏览器的元老。
虽然没有办法做出让所有浏览器都兼容的网站,但只要注意以下几点,做出来的网页在各个浏览器都中能达到比较好的显示效果:
a、不要混合使用层和表格排版,如果是父子关系,如层中表格,不在此原则范围内。
b、内联式的 CSS 在 Netscape Navigator 中经常会出现问题,使用链式或内嵌式。
c、有时需要在空层插入表格或者透明图片,以保证在 Netscape Navigator 里的效果。
d、对于只有几个像素宽度或高度的层,改用图片来实现。
e、避免使用 W3C 组织不推荐的排版属性,用 CSS 代替。 参考技术B 关于网站如何做到自适应网页,可根据如下操作:
首先,在网页代码的头部,加入一行viewport元标签。viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩 放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。
“流动布局”的含义是,各个区块的位置都是浮动的,不是固定不变的。float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。
“自适应网页设计”的核心,就是CSS3引入的Media Query模块。它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
其次,除了布局和文本,”自适应网页设计”还必须实现图片的自动缩放。有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。 参考技术C
想要网页宽度自适应,需要把网页元素宽度设置为百分比,还要在网页头部加上代码: <meta name="viewport" content="width=device-width,initial-scale=1.0" /> 。
图片自适应,且不超过原始大小,需要设置最大宽度,代码如下: img width:100%; max-width:100%;。
改进功能
浏览器首次使用时,根据用户显示分辨率大小决定是否默认显示收藏栏;
打开多个标签关闭浏览器时,提示用户确认;
搜索栏关键词提示;
搜索栏支持多个搜索引擎;5.内核窗口resize速度
以上是关于如何让网页自动适应显示器不同的“分辨率”?的主要内容,如果未能解决你的问题,请参考以下文章