手机浏览器都是按照什么分辨率解析移动端网页的

无论是公司项目还是合作项目有时候都需要一些移动端网页开发的任务,比如扫描二维码之后或者内嵌到客户端里面的页面,等等.

本篇文章主要通过调研不同横向分辨率的移动设备的网页解析情况,来给出移动端网页设置宽度的建议.

在给出调研结果之前,如果你对移动端网页开发还不够了解的话,请先阅读”移动端网页开发基础”.

各位都知道手机的横向分辨率多种多样,所以我们在编写代码之前都会加入一句:

<meta name=”viewport” content=”width=device-width”>

这句话的意思是使整个浏览器的宽度等于设备屏幕的宽度,但是做完这句初始化之后,浏览器的宽度真的就是屏幕宽度吗?

其实上面这条语句严格说来仅仅适用于分辨率为320×480的iOS设备,如果你在你的网页里写了这条语句,然后又添加了一个宽度为320px的div,你会发现在iPhone 3Gs上,这个div是100%撑满屏幕的

如果你有一台iPhone4(屏幕宽度为640px),同样载入刚才那个页面会发现这个div同样是撑满整个屏幕的,按照这条meta语句,应该将这个div宽度设为640px才会撑满对不对,这就是iPhone4+特殊的解析机制

iPhone4+在解析网页的时候依旧把自己当作一台横向分辨率为320px的设备

但是在屏幕上显示的时候,会将尺寸扩大两倍,以前320个像素,在屏幕上会自动扩充为640个,这样就省去了根据两种iPhone开发两种尺寸网页的麻烦

这样的话在iPhone上开发移动端网页就非常简单了,但到目前为止我们仅仅解决了一个平台的问题

Android平台怎么办,所以,我又测试了android手机端浏览器解析的情况,由于设备所限,我只测试了宽度为480的moto里程碑2,小米,还有宽度为720的Galaxy Nexus.

结果比较意外,本以为小米等主流宽度为480px的手机的dvice-width是480px,但是当我还是加载刚才那个网页时,320px的div很好的撑满了屏幕,这样看来其实即使宽度为480px的android手机也是按照320px来解析,只是显示上与iPhone4+不同,自动扩大为1.5倍.

然后又测试了Galaxy Nexus,这款手机屏幕宽度是720px,本想也是按照320px来解析,但事实证明不是,经过我的调试,这款手机是根据360px来解析的,正好是720px的一般.

看来,除了屏幕宽度大于640px的手机,只要是低于640px的都可以认为是按照320px来解析网页,给开发带来很大便利.现在720px的手机比较少,所以可以暂时仅仅开发320px宽度的网页.

条件所限,没有测试宽度为540px的android手机,当然android中也有宽度为240px的机型,但是被我忽略掉了.

可以下一个大概的结论:

  1. 开发移动端网页,非必要情况下不对于页面设置宽度,只需加上margin来灵活适应屏幕
  2. 但如果确实有一些板块需要设置宽度,设置为300px即可(左右各留10px边距)
  3. 如果需要兼顾720px的高端机型,需要在css中写入media query来针对不同宽度的屏幕写样式.

Posted in: 业界文档 Tagged: androidcsshtmliOSwebapp移动浏览器移动网页

发表评论

电子邮件地址不会被公开。 必填项已用*标注

时间: 2024-10-14 02:08:22

手机浏览器都是按照什么分辨率解析移动端网页的的相关文章

三大主流手机浏览器对比:哪个最安全?

随着用户在手机上操作的应用越多越来越多,不止是上网浏览网页等,还涉及网购和手机支付等,安全问题已经成为移动互联网最重要的问题.作为用户使用最频繁的应用之一,手机浏览器的安全问题也更为突出,那么目前市面主流的手机浏览器哪款才是更安全的呢? 本文对国内市场份额前三名的UC手机浏览器.QQ手机浏览器.百度手机浏览器进行逐一对比. 一.信息传输对比 信息传输是一个应用安全最为重要的环节,如果敏感信息泄露,将造成用户直接利益损失.通过网络劫包和解密,发现三款手机浏览器在信息传输过程中加密方式不一. 首先先

微信jsApI及微信分享对应在手机浏览器的调用总结。

摘录自别人的博客: 第一篇:微信内置浏览器的JsAPI(WeixinJSBridge续) 之前有写过几篇关于微信内置浏览器(WebView)中特有的Javascript API(Javascript Interface)的文章,不过随着微信官方的调整,部分API已经不能直接使用,比如类似直接分享到朋友圈 WeixinJSBridge.invoke('shareTimeline',data,callback) 这样的功能,直接调用,会得到一个访问拒绝的response.后来重新调研了下,整理出来了

手机浏览器页面知识收集

wap手机网页css(wap css) 大部分手机现在都支持XHTML浏览器,这意味着我们只需在stylesheets的类型设置成“handheld”即 1 * { 2 3 position: static !important; 4 5 float: none !important; 6 } 因为现行的手机的屏幕限制,没有太多的空间去漂移,故提倡用静态布局和尽量少的用float(ucweb6.0目前还不支持float) 为了手机的流量,提倡尽量少用背景图background: none !im

使用视 meta 标签来控制手机浏览器布局

移动浏览器的Fennec一样呈现在一个虚拟的"窗口"页面(视),通常比屏幕宽.所以他们不需要去挤每个页面布局到一个小窗口(这会破坏许多非移动优化的网站) .用户可以平移和缩放才能看到页面的不同区域. 移动Safari浏览器推出了"视口元标记",让Web开发人员控制视口的大小和规模.许多其他移动浏览器都支持这个标签,虽然它不是任何Web标准的一部分.苹果公司的文档做得很好解释如何Web开发人员可以使用这个标签,但我们不得不做一些侦探工作,以找出究竟是如何实现它的Fen

css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题

最近在负责一个微信H5 App项目,遇到一个郁闷的问题,手机浏览器查看网页时图标都是模糊的,有锯齿,电脑浏览器显示则是正常.大概知道是分辨率适配等类型的问题,后来网上查找了一些办法,大部分的解决方案都是设计一套放大1倍的图标,再压缩显示. 我们都知道<img>标签可以通过固定宽高的方式来压缩大图,从而得到高清的显示效果,而图标一般用背景图来呈现,怎么搞呢?好吧,css3出了一个很牛逼的属性background-size可以直接设置背景图的宽高,直接解决了前者的疑惑. 那么问题来了,我们的网页不

手机浏览器兼容性测试结果概要

以下所说的"大多数"是指在我们测试过的机型中,发生此类状况的手机占比达50%及以上,"部分"为20%到50%:"少数"为20%及以下.而这个概率也仅仅只限于我们所测试过的机型,虽然我们采集的样本尽量覆盖各种特征的手机,但并不代表所有手机的情况. XHTML部分 大多数手机不支持的: 表单元素的"disable"属性 部分手机不支持的: "button"标签 "input[type=file]&qu

手机浏览器的User-Agent汇总

之前介绍的 更简洁的方式修改Chrome的User Agent,轻松体验移动版网络这种简洁的方法好像只适用于Chrome, Chrome不只是浏览界面简洁,对应的细节功能也都设计的很简洁.但是如果想在Chrome之外的浏览器平台模拟移动设备,还是需要使用完整的User Agent.比如我有时会用电脑通过3G网络上网,在流量上就要尽量节省了,目前是使用的Opera开启Turbo模式,节省流量方面还不错.如果模拟成移动平台的话,应该能更节省流量.顺便试了下模拟不同移动平台上网的效果,这里收集几个手机

android 小工具:pc 上用 curl 命令打开手机浏览器,浏览指定网址

测试 API 时或其它情况经常需要在手机浏览器中输入 url 一长串的 url 输起来真是麻烦 AirDroid 很强大也不用数据线,但有时老断开连接,不是很爽.发到手机 qq 吧还得手动粘贴 所以自己开发了一个小工具 pc 上用 curl 发一条命令,命令中输入要打开的 url,手机浏览器就会自动打开 url. 当然手机和 pc 都得联网 curl -l -H "Content-type: application/json" -X POST -d '{"method&quo

在PC上测试移动端网站和模拟手机浏览器的5大方

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择"复制",复制一个图标副本到桌面.右击该副本,选择"属性",