手机浏览器打开网页时,怎么设置自动调整网页自适应浏览器大小手机屏幕字体大

rukki:随着移动端设备的猛涨,现在设计师们做网页也要经常考虑如何适应这些不同分辨率的屏幕了。今天&的Rukki与我们分享了关于自适应不同分辨率界面的几个技巧,非常实用,建议同学们学习一下 :)
首先呢来看一张图:
这是2个半月腾讯游戏官网的分辨率数据,可以看出来PC端里%、占14%。而这2个分辨率的显示宽度相差了接近一倍。而现在设计师的设计稿普遍输出尺寸都是1920,所以设计师经常也会担心:小分辨率下能看到吗?或者需要为手机端单独做一版吗?所以我们需要用一些技巧来让大多数用户能看到的页面效果是一样的。
【举例1】&&下显示。
设计的很美观 但是如果直接按原始大小做,小分辨率玩家只能看到中间的人物而已。
经常我们做全flash站的时候,会看到多媒体的同学会为了配合多分辨率做展示上的自适应。
而重构其实纯靠css也可以实现同样的缩放自适应:
这样不会因为分辨率小而只能看到中间一个区域,或者出现滚动条影响体验。
实现思路:
1:&针对IE:IE有个zoom属性。虽然经常我们用它来清浮动什么的。但是它在缩放元素上也是很强大的。eg:被设置zoom:0.5的元素会以该元素的左上角为原点在直接被缩小一半,所占据的文档流内体积也会减少一半(IE7和8+对zoom后的元素的margin值理解不同可以注意下,不过单纯缩放元素时不太需要用到)。
firefox下呢,就可以使用css3的transform:scale()。(需要额外设置transform-origin:0 0为缩放原点)。
另外zoom也被webkit支持,scale还是zoom请自行选择~
2. 接下来我们就可以按设计稿直接切成成一个巨大无比的的页面。
3. 然后获取用户的当前窗口尺寸,eg当前窗口宽1200,那么我们需要缩放的比例 zoom=.625。然后把我们的主显示的父框缩小0.625倍就可以啦~(当然为了高度不出滚动条,高度的尺寸也要纳入计算范围)
是不是很简单呢?以后遇到会影响内容浏览的大页面的时候 可以考虑用这种方法做一个缩放哦~
【举例2】&(不好意思拿出了11年的页面,不过这个思路看起来很清楚)
这个主体是固定尺寸的,然后通过js来计算定位和衔接背景做到自适应&无滚动条。可以看到跟上边的例子比这些人物的尺寸都没有改变。计算思路神马的因为以前做过分享所以不再赘述~感兴趣的同学可以查看代码或者私下跟我讨论^^
二、移动端
移动端虽然整体尺寸小+倒下去竖起来的尺寸差别太大,但是本质和PC端页面没什么区别。
常见的自适应自然就是:
1.&响应式,media queries配合百分比让页面内容自然的去适应(();
2.&根据浏览器尺寸然后进行动态的定位()。&手机输入网址浏览或扫描下排二维码
如果单独做手机端的页面,用上述方法做自然正常显示不是问题,但是当时间紧任务重或者资源不够需要PC和手机使用同一套页面时,如何适应手机就是个需要考虑的问题了。
我们先来看看例子:
打开会发现这就是一个正常的PC端的活动页面,但是因为从策划到上线的时间都非常紧没有时间为手机版单独做一套,所以就要考虑如何能适应手机浏览了。
因为这个活动系列其实是拉数据后趣味展示(其实就是定位图片和文字在页面上),所以定位和宽度用百分比进行后很可能在显示的时候出问题;字体可能因为分辨率小的时候换行;甚至页面的背景和高度在适应多分辨率的手机时也不易控制等等等等(我纠结了一堆的忧虑)。
咳~聪明的你一定想到了,嗯~就用我们PC端的第一个例子,缩放搞定!
安卓 & iPhone
iPhone & PC
同一套页面,在一个小小的操作下便可以变成手机端可以浏览的了。
(因为是PC端的活动所以调用的是PC的登录&选大区组件,所以造成手机端操作有槽点,不过在本次分享里请先忽视它&_&!开发组件的多终端智能适配就是我接下来努力解决的一个点。)
希望这个分享能给大家在不同分辨率下的显示提供了思路。响应式啦、百分比啦、动态定位啦,或者缩放,在灵活配合后,相信可以为我们的页面在比较不友好的分辨率下提供支持。
另外其实我不会写结束语,所以就这样吧^ ^!
原文地址:
??????????我做的网页感觉在不同屏幕分辨率下显示效果不同,现在又什么好的办法解决这个问题没,能让网页自适应屏幕分辨率&
并且布局保持不变&&&不管多大屏幕显示的是整个页面的放大或缩小之后的布局
回复讨论(解决方案)
width:100%;
$(window).bind('resize&load',&function(){
$(&body&).css(&zoom&,&$(window).width()&/&640);
$(&body&).css(&display&&,&&block&);
用link标签
&meta&name=&viewport&&content=&width=device-width,&initial-scale=1&&
&meta&name=&viewport&&content=&width=320px,&user-scalable=no,&initial-scale=1,&maximum-scale=1&&
&meta&name=&viewport&&content=&width=320px,&user-scalable=no,&initial-scale=1,&maximum-scale=1&&可以试试。
又学习了,不过手机同时兼容大显示器分辨率还是不行吧。毕竟尺寸在哪里呢
用ui框架吧,或者去看看响应式设计方面的书.
ui框架:bootcss
这个可以参考参考
$(window).bind('resize&load',&function(){
$(&body&).css(&zoom&,&$(window).width()&/&640);
$(&body&).css(&display&&,&&block&);
非常感谢2楼啊
这段在做应用中嵌入网页,被嵌入的网页总被缩放,非常烦恼。
让安卓工程师加上此句后:webSettings.setSupportZoom(false);&仍旧还是被缩放。
&meta&name=&viewport&&content=&width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,target-densitydpi=device-dpi&&&(&加上这句&target-densitydpi=device-dpi&可强制显示真实分辨率大小)
页面所有字号大小,都按照某一宽度
比如设计图页面宽度640的,然后所有不同分辨率的手机,都按640px缩放。
再加上2楼的这段代码。就解决了大屏手机高分辨率下,字体过小的问题。而且切图时也不用考虑多种分辨率的不同css,统统按只支持640px的做就足矣!
刚开始写css的时候就应该注意到,不可以写死的宽高,要用百分比及最大最小值的设定
&meta&id=&viewport&&name=&viewport&&content=&width=device-&initial-scale=1.0;&maximum-scale=2.0;&&/&
width&-&viewport的宽度&height&-&viewport的高度
initial-scale&-&初始的缩放比例
minimum-scale&-&允许用户缩放到的最小比例
maximum-scale&-&允许用户缩放到的最大比例
user-scalable&-&用户是否可以手动缩放
推荐一个网站给你,我自己也是做移动端Web的。/这个是专门用于针对移动端开发的产品
还有个方法就是用base.css文件,不过用base.css文件的话不能做到在不同客户端下显示不同排版。
$(window).bind('resize&load',&function(){
$(&body&).css(&zoom&,&$(window).width()&/&640);
$(&body&).css(&display&&,&&block&);
非常感谢2楼啊
这段在做应用中嵌入网页,被嵌入的网页总被缩放,非常烦恼。
让安卓工程师加上此句后:webSettings.setSupportZoom(false);&仍旧还是被缩放。
&meta&name=&viewport&&content=&width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,target-densitydpi=device-dpi&&&(&加上这句&target-densitydpi=device-dpi&可强制显示真实分辨率大小)
页面所有字号大小,都按照某一宽度
比如设计图页面宽度640的,然后所有不同分辨率的手机,都按640px缩放。
再加上2楼的这段代码。就解决了大屏手机高分辨率下,字体过小的问题。而且切图时也不用考虑多种分辨率的不同css,统统按只支持640px的做就足矣!
楼主,我最近也在做手机端开发,这两句话直接放在js和head里就可以用了吗,我的怎么没用啊
去看看jqm(jqueryMobile),或许能改变你的思路!
$(window).bind('resize&load',&function(){
$(&body&).css(&zoom&,&$(window).width()&/&640);
$(&body&).css(&display&&,&&block&);
非常感谢2楼啊
这段在做应用中嵌入网页,被嵌入的网页总被缩放,非常烦恼。
让安卓工程师加上此句后:webSettings.setSupportZoom(false);&仍旧还是被缩放。
&meta&name=&viewport&&content=&width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,target-densitydpi=device-dpi&&&(&加上这句&target-densitydpi=device-dpi&可强制显示真实分辨率大小)
页面所有字号大小,都按照某一宽度
比如设计图页面宽度640的,然后所有不同分辨率的手机,都按640px缩放。
再加上2楼的这段代码。就解决了大屏手机高分辨率下,字体过小的问题。而且切图时也不用考虑多种分辨率的不同css,统统按只支持640px的做就足矣!
可是这种方法有个问题呢,火狐和Opera不支持zoom,其他手机浏览器对zoom支持度也待确定
$(window).bind('resize&load',&function(){
$(&body&).css(&zoom&,&$(window).width()&/&640);
$(&body&).css(&display&&,&&block&);
非常感谢~~~欢迎来到小鱼儿博客园学习基地,
  加我 QQ 说出您的需求!
1、在头部增加viewport标签。
  在网站HTML文件的开头,增加viewport meta标签告诉浏览器视口宽度等于设备屏幕宽度,且不进行初始缩放。代码如下:
&meta name=&viewport& content=&width=device-width, initial-scale=1& /&
  这段代码支持Chrome、Firefox、IE9以上的浏览器,但不支持IE8以及低于IE8的浏览器。
2、在文件尾部增加针对不同屏幕分辨率的规则。
  例如使用如下的代码,可以让屏幕宽度低于480像素的设备(如iPhone等),网页侧栏隐藏中部内容栏宽度自动调节。以下代码针对Z-Blog,WordPress相关标签名称只需修改一下即可。
@media screen and (max-device-width: 480px) {
#divSidebar {
  3、布局宽度使用相对宽度。
   网页总体框架可以使用绝对宽度,但往下的内容框架、侧栏等最好使用相对宽度,这样针对不同分辨率进行修改就方便。当然也可以不用相对宽度,那就需要在 @media screen and (max-device-width: 480px) 里面增加各个div的针对小屏幕的宽度,实际上更麻烦。
  4、页面使用相对字体
  在HTML页面上不要使用绝对字体(px),而要使用相对字体(em),对于大多数浏览器来说,通常用 em = px/16 换算,例如16px就等于1em。
   根据上面讲述的几点内容,我针对我博客的CSS进行了一些修改,发现可以从iPhone手机浏览到体验更佳的页面,但有一个问题没有解决,就是顶部导航 栏navbar显示有问题,换行后被下面的文章盖住了,不知道怎样能更好地解决这个问题(更新:经过网友提示,在导航栏divNavbar的样式里,加入 overflow: 一行即可解决这个问题)。
  下图是使用iPhone访问的,经过修改CSS为自适应网页后的月光博客首页页面,看起来比原始的未优化页面好多了吧。
  总之,根据上面四步进行修改的话,可以很简单地将一个网站修改为适合多种设备浏览的页面,这对于通过手机访问网站的用户来说,的确是一件好事。
以下是更详细的补充资料:
随着3G的普及,越来越多的人使用手机上网。
移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?
手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。
很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone / iPad版本。这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。
于是,很早就有人设想,能不能&一次设计,普遍适用&,让同一张网页自动适应不同大小的屏幕,根据屏幕宽度,自动调整布局(layout)?
一、&自适应网页设计&的概念
2010年,Ethan Marcotte提出了&自适应网页设计&(Responsive Web Design)这个名词,指可以自动识别屏幕宽度、并做出相应调整的网页设计。
他制作了一个范例,里面是《福尔摩斯历险记》六个主人公的头像。如果屏幕宽度大于1300像素,则6张图片并排在一行。
如果屏幕宽度在600像素到1300像素之间,则6张图片分成两行。
如果屏幕宽度在400像素到600像素之间,则导航栏移到网页头部。
如果屏幕宽度在400像素以下,则6张图片分成三行。
mediaqueri.es上面有更多这样的例子。
这里还有一个测试小工具,可以在一张网页上,同时显示不同分辨率屏幕的测试效果,我推荐安装。
二、允许网页宽度自动调整
&自适应网页设计&到底是怎么做到的?其实并不难。
首先,在网页代码的头部,加入一行viewport元标签。
  &meta name=&viewport& content=&width=device-width, initial-scale=1& /&
viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
所有主流浏览器都支持这个设置,包括IE9。对于那些老式浏览器(主要是IE6、7、8),需要使用css3-mediaqueries.js。
  &!--[if lt IE 9]&
    &script src=&http://css3-mediaqueries-/svn/trunk/css3-mediaqueries.js&&&/script&
  &![endif]--&
三、不使用绝对宽度
由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。
具体说,CSS代码不能指定像素宽度:
  width:
只能指定百分比宽度:
  width: xx%;
  width:
四、相对大小的字体
字体也不能使用绝对大小(px),而只能使用相对大小(em)。
  body {
    font: normal 100% Helvetica, Arial, sans-
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
    font-size: 1.5
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
  small {
    font-size: 0.875
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
五、流动布局(fluid grid)
&流动布局&的含义是,各个区块的位置都是浮动的,不是固定不变的。
  .main {
    float:
    width: 70%;
  .leftBar {
    float:
    width: 25%;
float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。
另外,绝对定位(position: absolute)的使用,也要非常小心。
六、选择加载CSS
&自适应网页设计&的核心,就是CSS3引入的Media Query模块。
它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。
  &link rel=&stylesheet& type=&text/css&
    media=&screen and (max-device-width: 400px)&
    href=&tinyScreen.css& /&
上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。
  &link rel=&stylesheet& type=&text/css&
    media=&screen and (min-width: 400px) and (max-device-width: 600px)&
    href=&smallScreen.css& /&
如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。
除了用html标签加载CSS文件,还可以在现有CSS文件中加载。
  @import url(&tinyScreen.css&) screen and (max-device-width: 400px);
七、CSS的@media规则
同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
  @media screen and (max-device-width: 400px) {
    .column {
      float:
      width:
    #sidebar {
      display:
上面的代码意思是,如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节(width:auto),sidebar块不显示(display:none)。
八、图片的自适应(fluid image)
除了布局和文本,&自适应网页设计&还必须实现图片的自动缩放。
这只要一行CSS代码:
  img { max-width: 100%;}
这行代码对于大多数嵌入网页的视频也有效,所以可以写成:
  img, object { max-width: 100%;}
老版本的IE不支持max-width,所以只好写成:
  img { width: 100%; }
此外,windows平台缩放图片时,可能出现图像失真现象。这时,可以尝试使用IE的专有命令:
  img { -ms-interpolation-mode: }
或者,Ethan Marcotte的imgSizer.js。
  addLoadEvent(function() {
    var imgs = document.getElementById(&content&).getElementsByTagName(&img&);
    imgSizer.collate(imgs);
不过,有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,端和客户端都可以实现。
「如果觉得我的文章对您有用的话,请随意打赏。为什么呢?」
使用微信扫描二维码完成支付
转载请注明: >
> 自适应网页设计的方法(手机端良好的访问体验)
与本文相关的文章
发表我的评论主题推荐:
& wordpress自适应主题在手机UC浏览器上字体会自动放大,怎么解决?
随着移动互联网的普通,wordpress自适应主题已成为开发的主流方向。所以,作为wordpress主题开发者,开发wordpress主题时,就会兼顾考虑主题能在PC端正常显示,又能在移动端正常显示。说实话,相对于PC端不同浏览器的兼容问题,移动端的开发要好得多。基本上所有的浏览器都不存在兼容问题。但是,也有极个别的奇葩——如手机UC浏览器,就会不明不白地自动放大网页的字体,这曾经让我很蛋痛。
前段时间,我的一个wordpress自适应主题在其它所有的手机浏览器中都是正常的,就只有在手机UC浏览器中字体会自动放大。当初还以为是我的主题自身问题,后来百度了一下,遇到这种问题的大有人在,不仅wordpress,其它的程序如织梦\PHPCMS程序,同样也有这样的情况出现。这到底怎么一回事呢?
百度后,才了解到,UC浏览器一直在升级,从10.0版以后,就开始出现这样的问题。从UC 10.0版开始,UC浏览器会对wap页面字体按规则放大。那么,怎样禁用UC浏览器字体自动放大呢?通过UC浏览器手机端操作当然可以实现,但这对于用户来说,又有几个人会那样去操作呢?这肯定是不现实的。
如何禁用UC浏览器字体自动放大?后台,在一个论坛中看到了解决的方法。不看不知道,一看吓一跳,原来解决的方法是如此简单,我们只需在我们的wordpress主题的源码中添加html5标签 header、nav、section中的任一个来避免,就可以禁用了UC浏览器的字体自动放大效果。
比如:我们的wordpress主题导航字体在UC浏览器上会自动放大,我们只需要在wordpress主题的header.php文件中的导航代码前添加“&header&&/header&”就可以了。标签之间不需要添加内容,为空即可。
比如:wordpress主题底部信息在UC浏览器上会字体自动放大,我们只需要wordpress主题的footer.php文件中添加“&header&&/header&”就可以了。当然,也可以用其它2个标签来实现。
因为碰到过这样的问题,所以分享出来,如果你也是wordpress主题的开发者或爱好者,也碰到这样的问题,那就赶快试试这种方法吧,相信一定会药到病除。
文章作者:
本文地址:
版权所有 & 转载时必须以链接形式注明作者和原始出处!
或许你会感兴趣的文章:
ssmay主题专题

我要回帖

更多关于 网页自适应浏览器 的文章

 

随机推荐