移动webapp页面适配方案

Viewport(视口)
概念
In web browsers, the viewport is the visible portion of the entire document.
移动端浏览器在一个通常比屏幕更宽的虚拟”窗口“(视口)中渲染页面,从而无需将所有页面都压缩进小屏幕里(那样会把很多没有针对移动端进行优化的站点打乱)。用户可以通过平移和缩放来浏览页面的不同区域。 大部分的移动端浏览器使用一个默认的视口宽度,这意味着视口将会用这个尺寸放大页面,使所有的元素放进这个视口,从而渲染整个页面。
各个浏览器的默认视口宽度
Safari      980px
Opera       850px
Android WebKit  800px
IE       974px
dp和px的换算公式
换算公式px = dp*(dpi/160)
等值的CSS里面的px在手机屏幕上占多大的位置,这不是固定的,还要取决于屏幕的DPI。因为手机会根据DPI,对页面进行自动缩放来协调屏幕像素和尺寸之间的比例来显示效果,基值是160dpi。意思是160dpi的设备里(一般分辨率是320*480),1dp = 1px。我们不关注dp是什么,我们关注的是px,当前设备的dp:px是多少,也就是页面在分辨率高于或者低于320宽度分辨率的时候,对应的缩放比例(其实也就是个概念,就是webkit浏览器自己做的缩放,来适配不一样的设备。我们只要记住3201dp=1px就行了,后面的往下看)。
什么是dp
Density-independent pixels,一个基于计算机坐标系统的物理测量单元,代表一个抽象的像素并用于基础系统的app,如何换算成物理像素,以160PPI屏幕为标准,则1dp=1px
DPI/PPI
Pixels per inch
如何计算
分辨率
一种在手机尺寸下可以显示的像素个数,比如,640*960分辨率意味着宽度是960个像素而高度是640个像素。
屏幕尺寸
手机屏幕对角线的长度,例如3.5英寸的手机。
计算
![这里写图片描述](http://img.blog.csdn.net/20150930174133494)
px = dp*(dpi/160)
330/160=2.0625
1dp等于2.0625个css px
viewport参数
width   视口宽度,各个浏览器的默认视口宽度不同。范围:200-10,000.也可设成device-width
height  视口高度,范围:223-10,000 也可设成device-height
initial-scale   页面首次显示时的缩放值,范围由minimum-scale和maximum-scale决定
minimum-scale   页面显示时最小的缩放值,默认值:0.25,范围:>0-10.0
maximum-scale   页面显示时最大的缩放值,默认值:5.0,范围:>0-10.0
user-scalable   决定用户是否可以放大或者缩小页面。值可取:yes,no。默认值:yes。设置成no,同时也可以阻止页面滚动,当输入文本到文本框的时候。
手机设备尺寸一览
http://screensiz.es/phone

适配方案
160dpi对应典型的分辨率是320*480
页面加meta标签
<meta name=”viewport” content=”width=device-width,initial-scale=1.0, minimum-scale=1,maximum-scale=1,user-scalable=no”>
设计稿复制一份,等比例缩放至320px宽度。320px*480160dpi的典型分辨率。
因为viewport将页面宽度设置成device-width,设备宽度各尽不同,但是基本可以在320宽度的psd里直接量尺寸,除非一些随着设备宽窄会长短不一的文本字段用响应式布局以外。
这时字体大小可以设置成缩放后的字体大小,用px即可。
切下原稿上的icon,用css3 query,和backgound-size 缩放。
例如:分辨率宽480px的query:@media all and (-webkit-min-device-pixel-ratio:1.5),background-size按比例设置。



转载:http://www.th7.cn/web/html-css/201407/48405.shtml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值