h5开发移动端APP,屏幕设配的问题
来源:互联网 发布:第三方软件测试 c语言 编辑:程序博客网 时间:2024/06/06 12:53
首先,我们来区分几个物理尺度上的概念:物理像素、设备独立像素、CSS像素、屏幕密度。
1.物理像素(physical pixel)
物理像素又被称为设备像素,他是显示设备中一个最微小的物理部件。每个像素可以根据操作系统设置自己的颜色和亮度。正是这些设备像素的微小距离欺骗了我们肉眼看到的图像效果。
2.设备独立像素(density-independent pixel)
设备独立像素也称为密度无关像素,可以认为是计算机坐标系统中的一个点,这个点代表一个可以由程序使用的虚拟像素(比如说CSS像素),然后由相关系统转换为物理像素。
3.CSS像素
CSS像素是一个抽像的单位,主要使用在浏览器上,用来精确度量Web页面上的内容。一般情况之下,CSS像素称为与设备无关的像素(device-independent pixel),简称DIPs。
4.设备像素比(device pixel ratio)
设备像素比简称为dpr,其定义了物理像素和设备独立像素的对应关系。它的值可以按下面的公式计算得到:
设备像素比 = 物理像素 / 设备独立像素
在JavaScript中,可以通过window.devicePixelRatio获取到当前设备的dpr。而在CSS中,可以通过-webkit-device-pixel-ratio,-webkit-min-device-pixel-ratio和 -webkit-max-device-pixel-ratio进行媒体查询,对不同dpr的设备,做一些样式适配(这里只针对webkit内核的浏览器和webview)。
常用的一些手机设备
众所周知,iPhone6的设备宽度和高度为375pt * 667pt,可以理解为设备的独立像素;而其dpr为2,根据上面公式,我们可以很轻松得知其物理像素为750pt * 1334pt。
因此,在普通屏幕下1个CSS像素对应1个物理像素,而在Retina屏幕下,1个CSS像素对应的却是4个物理像素。
进入正题
1.引入lib-flexible的库
本质:
1.动态改写<meta>标签2.给<html>元素添加data-dpr属性,并且动态改写data-dpr的值3.给<html>元素添加font-size属性,并且动态改写font-size的值
<script src="build/flexible_css.debug.js"></script><script src="build/flexible.debug.js"></script>
2.<meta>标签
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
参考文献
1.https://github.com/amfe/article/issues/17
2.https://github.com/amfe/lib-flexible
- h5开发移动端APP,屏幕设配的问题
- 移动端H5开发的屏幕适配方案
- 移动端 h5开发遇到的问题总结
- 移动端开发App、Web屏幕适配参考
- 基于H5的移动端(APP)开发框架的优缺点
- h5开发app,移动端 click 事件响应缓慢的解决方案
- H5移动端开发
- 浅谈h5移动端页面的适配问题
- 移动端H5开发遇到问题及解决办法总结
- 【移动端H5开发】iOS下页面底部的input被弹出键盘遮挡问题
- 移动端h5开发基础
- H5移动端开发相关内容
- H5 移动APP 框架
- app移动端H5页面开发调试之Chrome远程调试
- 基于H5的移动端贪吃蛇游戏开发
- 移动开发:H5+实现APP自动下载更新(HBuilder)
- 移动开发:H5 APP打包Android版本发布 (HBuilder)
- 关于移动端h5页面不能滑动问题的解决办法
- springboot初始化bean扫描
- Java精选笔记_国际化
- 字典树模板
- Pyhon3之流程控制
- 冒泡排序
- h5开发移动端APP,屏幕设配的问题
- annovar对人类基因组和非人类基因组variants注释流程
- JDK安装与环境变量配置
- C语言编译预处理
- iOS 电量条的隐藏&显示
- Oracle 根据字段条件显示不同字段
- ArcGIS Engine开发Geodatabase代码(二)——DataAccess and Creation
- java 设计模式
- Hdu 1228