移动端适配的理解——REM方案
DPR(设备像素比)=物理(或设备)像素/ CSS像素 ——公式(1)
上面等式成立的前提是缩放比例=1,即html中设置<mata "name=viewport" content="width=device-width,init-scale=1,min-scale=1,max-scale=1">
满足上述条件下,对于DPR为n的任一设备,1个css像素=n个物理像素。其中css像素,就是我们在css中书写的px(或浏览器Element状态栏查看元素时大小时看到的px,后面均用px代替),物理像素就是设备显示屏上最小、最原子的单位(后面均用PHYSICS_PX代替)。
下面以Iphone6和Iphone6s作为参考,简单介绍下,怎么实现适配:
Iphone6 dpi=2 逻辑分辨率 :375(css像素)*667 设备分辨率:750*1334
Iphone6s dpi=3 逻辑分辨率 : 414(css像素)*736 设备分辨率:1242*2208
(1) 设置min-scale=1/DPR,目的是使得1px=1PHYSICS_PX。
则默认情况下,设备显示屏水平包含的css像素数量=设备分辨率,即:
Iphone6 屏幕宽 750px
Iphone6s 屏幕宽 1242px
(2) 使用REM作为度量单位
设屏幕宽为20REM(可以根据喜好设置,不固定的,基准可以自己定义的),即width=20REM就是满屏的宽度。
Iphone6 要满足 20REM= 750px ,计算得1REM= 37.5px,为此设备的基准度量单位
Iphone6s 要满足20REM=1242px,计算得1REM = 41.2px,为此设备的基准度量单位
(3)只需要设置标签html的font-size为对应的1REM基准值即可
其他设备也按上述方式计算得到基准度值,这样1REM等于屏幕宽度的1/20。到时候根据任一设计稿尺寸,以750*1334为例,在css中换算成REM即可。
比如 37.5px——> 1rem 14px——> 0.37333rem
(4) 前端构建优化
我们自己写css,每次都需要将px换算成rem,会比较麻烦你,前端构建时,可以采用一些构建工具,webpack中比较常用的px2rem-loader(基于SCSS工程),会把px主动换算成rem,因此我们在写css时,只需要按px写即可。看一下具体的方法实现:
其中37.5px就来自于(2)中得到的设备相关的基准度量单位与px的换算值。
转载于:https://juejin.im/post/5d42afb9e51d4562043f5686
移动端适配的理解——REM方案相关推荐
- 移动端适配+flexible.js+rem适配
移动端适配 前沿: 移动端web页面的开发,由于手机屏幕尺寸.分辨率不同,或者需要考虑横竖屏问题,为了使得web页面在不同移动设备上具有相适应的展示效果,需要在开发过程中使用合理的适配方案来解决这个问 ...
- 移动端适配:font-size设置方案的理解(浏览器调试移动端网页工具使用)
进过前面几篇相关的知识学习,使用rem布局是主流选择,而使用rem最核心的确定html根节点里面的font-size大小,即根永远是 1rem=?px为换算单位, 有一种处理办法,是在css里面,通过 ...
- 移动端适配的理解和各种方案解析(详解)
-
- 临时抱佛脚版_移动端适配布局_flex+rem+响应式
移动端的常见布局方案 文章目录 移动端的常见布局方案 一. 移动端和PC端的区别? 2. 手机屏幕的现状 2.1 视口 2.2 布局视口 layout viewport 2.2视觉视口 ...
- vue的pc端适配vw vh rem
安装命令: npm i postcss-px-to-viewport@1.1.1npm i postcss-pxtorem@5.1.1 2.安装完之后在根目录新建postcss.config.js(和 ...
- vue3+vant移动端适配 px转换rem
Vant 中的样式默认使用 px 作为单位,如果需要使用 rem 单位,推荐使用以下两个工具: postcss-pxtorem 是一款 postcss 插件,用于将 px 单位转化为 rem lib- ...
- 移动端适配方案(rem和vw vh适配)(css预处理器-less)
适配方案: 目前移动端适配方案有两种: 1.flex+rem单位 当前市面上用的比较多 相对主流(比如小米和淘宝移动端) 2.flex+viewport width/viewport height(v ...
- css3vw适配_小tips:使用rem+vw实现简单的移动端适配
首先设置meta属性,如下代码: 使用如下代码就能实现移动端的适配: html { font-size: -webkit-calc(13.33333333vw); font-size: calc(13 ...
- 我对移动端适配的了解
不知不觉做前端已经两年了,从PC端,移动端,微信小程序一路走来到今天刚刚开放注册的快应用(手机厂商对抗小程序的新技能,所以在注册时用的是qq邮箱的话要去垃圾箱里才能找到注册邮件),对于前端圈日新月异的 ...
- 一文搞定移动端适配!
作者 | 好学习吧丶 责编 | 郭芮 手机市场日渐丰富的同时,给我们前端开发人员带来的 "网页内容自适应屏幕尺寸进行显示的问题" 也日渐凸显出来,接下来我们就要细说移动端适配的前世 ...
最新文章
- 超简单的网页选项卡---jQuery
- 让TP5.0在SWOOLE上飞起来
- Boost:标准地图比较的测试程序
- 高仿真 JDK Proxy手写实现
- HttpsURLConnection 利用keepAlive特性进行优化一例
- 巴斯勒相机外部触发接线_2021新疆欧姆龙相机回收童嫂无欺
- linux编辑音频文件,Linux 上的最佳音频编辑工具推荐
- Windows系统卸载MySQL
- 小学生计算机应用教学ppt,小学计算机课件ppt
- yml文件和properties文件区别
- Can‘t update dev_zgd has no tracked branch
- iso计算机术语简单解释,计算机网络知识(上)
- 考研常考知识点(复试)
- 淘宝详情页设计要点有哪些 优秀淘宝详情页面多少屏合适
- 智能暖风机——7.LED驱动和断电记忆功能
- simplest_ffmpeg_decoder_pure.c
- 第11届蓝桥杯本科组校赛
- 升级 MacOS 到最新版本 macOS Ventura 13.0 后,Parallels Desktop 不可用
- python读json文件json.decoder.JSONDecodeError终极解决大法
- latex里图片大小如何调整_怎样用latex修改插入图形的大小,使图形大小一致。...
热门文章
- [C#]用Forms.TreeView显示Icon会有黑边
- hdu 4318 Power transmission 临接表 广搜 多校联合赛(二) 第九题
- 如何在 Mac 上的“通知中心”中添加和自定小组件?
- iOS黑魔法-Method Swizzling
- PS滤镜插件工具箱Mac版:Nik Collection 4
- springboot结合mybatis连接数据库
- 数据分析为何能指导商业决策?
- c#之new关键词——隐藏基类方法
- 新型恶意软件—— Grizzly攻击Telegram
- PHP Socket 深度探索 (一)