移动webapp页面适配方案

Viewport(视口)

概念

In web browsers, the viewport is the visible portion of the entire document.

移动端浏览器在一个通常比屏幕更宽的虚拟”窗口“(视口)中渲染页面,从而无需将所有页面都压缩进小屏幕里(那样会把很多没有针对移动端进行优化的站点打乱)。用户可以通过平移和缩放来浏览页面的不同区域。
大部分的移动端浏览器使用一个默认的视口宽度,这意味着视口将会用这个尺寸放大页面,使所有的元素放进这个视口,从而渲染整个页面。

各个浏览器的默认视口宽度


Safari


Opera


Android WebKit


IE


980px


850px


800px


974px

dp和px的换算公式

换算公式px = dp*(dpi/160)

等值的CSS里面的px在手机屏幕上占多大的位置,这不是固定的,还要取决于屏幕的DPI。因为手机会根据DPI,对页面进行自动缩放来协调屏幕像素和尺寸之间的比例来显示效果,基值是160dpi。意思是160dpi的设备里(一般分辨率是320*480),1dp = 1px。我们不关注dp是什么,我们关注的是px,当前设备的dp:px是多少,也就是页面在分辨率高于或者低于320宽度分辨率的时候,对应的缩放比例(其实也就是个概念,就是webkit浏览器自己做的缩放,来适配不一样的设备。我们只要记住320,1dp=1px就行了,后面的往下看)。

什么是dp

Density-independent pixels,一个基于计算机坐标系统的物理测量单元,代表一个抽象的像素并用于基础系统的app,如何换算成物理像素,以160PPI屏幕为标准,则1dp=1px

DPI/PPI

Pixels per inch

如何计算

分辨率

一种在手机尺寸下可以显示的像素个数,比如,640*960分辨率意味着宽度是960个像素而高度是640个像素。

屏幕尺寸

手机屏幕对角线的长度,例如3.5英寸的手机。

计算

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*480是160dpi的典型分辨率。
因为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按比例设置。

移动webapp页面适配方案

时间: 2024-10-05 18:28:01

移动webapp页面适配方案的相关文章

PC端、移动端页面适配方案

前言 页面自适应PC端.移动端大体上可以分为两种: 1.在同一个页面进行自适应布局,通常使用CSS3 @media 媒体查询器实现 2.两套页面,在后端进行统一适配,根据不同的浏览器UA返回对应的页面 本文记录在java后端进行PC端.移动端页面适配的方案 工程结构 想要实现后端统一适配,首先要规范好工程结构 后端代码,跟之前差不多,响应的viewName路径,直接从业务模块开始,适配工作交给aop:两套页面,对应的业务模块,分别放在两个目录下面 aop适配器 统一的适配工作交由aop环绕切面进

移动端Web页面适配方案

概念理解 viewport视口 visual viewport 可见视口,设备屏幕的宽度  windw.innerWidth/Height layout viewport 布局视口,DOM宽度 document.documentElement.cliendWidth/Heig ideal viewport 理想视口:目标是让把默认的layout viewport宽度设置为移动设备的屏幕宽度 visual viewport = layout viewport * scale <meta name=

基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范

基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.com/v/53039.html 原文地址:https://www.cnblogs.com/bydzhangxiaowei/p/9536126.html

刚入前端整合的一个手机端页面适配+预加载+获取资源加载进度等的一个小模板

刚入前端不久,之前主要学的是pc端的布局,到公司之后负责的主要是移动段页面,刚开始时为了使页面适应移动端不同的屏幕大小采用的是百分比加媒体查询的方式,做完一个项目之后,感觉非常不好,虽然最后也基本使页面做到了适配.所以做完这个项目之后,我就在网上查找各种屏幕适配的方案,最终找到了一个通过js控制使页面整体缩放的方案,还有一个就是通过js实时检测屏幕大改变html根字体大小的rem布局方案.目前我在使用的是缩放的方案.整体代码基本上是整合的是大牛们分享的一些实用代码,如有什么bug欢迎提出,共同进

前端页面适配的rem换算

为什么要使用rem 之前有些适配做法,是通过js动态计算viewport的缩放值(initial-scale). 例如以屏幕320像素为基准,设置1,那屏幕375像素就是375/320=1.18以此类推. 但直接这样强制页面缩放过于粗暴,会导致页面图片文字失真模糊. Px是相对固定单位,字号大小直接被定死,所以用户无法根据自己设置的浏览器字号而缩放,em和rem虽然都是相对单位,但em是相对于它的父元素的font-size,页面层级越深,em的换算就越复杂,而rem是直接相对于根元素,这就避开了

移动端适配方案研究

初次接触移动端的时候,以为终于可以不用像pc那样考虑令人头疼的ie浏览器兼容问题,有强大的css3的帮助,可以随心所欲..可是后来才发现原来移动端各种层次不齐的终端更会让人抓耳挠腮,同样的页面在不同的手机上显示的完全不一样的效果,于是抛开功能,页面适配性也成了一个大的课题. 说到移动端,下面这一行代码大家一定不陌生: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-s

微信iOS多设备多字体适配方案总结

一.背景 2014下半年,微信iOS版先后适配iPad, iPhone6/6plus.随着这些大屏设备的登场,部分用户觉得微信的字体太小,但也有很多用户不喜欢太大的字体.为了满足不同用户的需求,我们做了全局字体设置功能,在[设置-通用-字体大小]这里修改设置后,微信大部分界面都会随之缩放. 二.多设备适配 1.各设备的逻辑分辨率: 关于iphone6/6plus的物理分辨率.逻辑分辨率.屏幕物理尺寸.PPI等资料,很多文章已经有详细说明了,这里就不再累赘.对于终端开发人员来说,其实我们需要关心的

Android WebApp &amp; NativeApp 适配测试自动化平台GoGo实现 东海陈光剑

Android WebApp & NativeApp 适配测试自动化平台GoGo实现 东海陈光剑 2014年3月6日 18:27:55 源代码: https://github.com/universsky/AndroidAutomationTestUniverssky.git GoGo平台架构: 运行结果: http://10.73.72.122:88/report.html?run_stamp=20140306052855&sec=336&min=5 http://10.125.

移动端高清、多屏适配方案

移动端高清.多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 首先,选取一款手机的屏幕宽高作为基准(以前是iphone4的320×480,现在更多的是iphone6的375×667). 对于retina屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2倍,也就是说像素点个数是原来的4倍(对i