rem布局和hotcss原理分析

本文详细解析了hotcss开源方案的rem布局原理,包括手机px与rem的关系、hotcss对fontSize及viewport的具体设定方法,以及这些设定背后的逻辑与原因。

rem布局的开源方案hotcss, 其原理个人理解如下:

 

手机px = (手机页面宽度/设计稿宽度) * 设计稿px 

手机rem = 手机px / fontSize 

            = (手机页面宽度/设计稿宽度) * 设计稿px / fontSize

     = (设备屏幕宽度/设计稿宽度) * 设计稿px / fontSize

hotcss对fontSize的设定

root fontSize = (设备屏幕宽度/320) * 20 = 设备屏幕宽度/16, 将页面16等分,1rem = 1/16 设备宽度

于是

手机rem = (设备屏幕宽度/设计稿宽度) * 设计稿px / ((设备屏幕宽度/320) * 20)
            = 设计稿px * 320 /设计稿宽度/20  = 设计稿px / (设计稿宽度/16)

手机rem可以理解为一个比率,就是设计稿px占设计稿宽度1/16的比率,此比率应该与手机px占手机屏幕宽度1/16的比率相等,即是手机的rem

hotcss对viewport的设定

scale = 1/dpr

viewport = 'width=device-width, initial-scale=' + scale + ', minimum-scale=' + scale + ', maximum-scale=' + scale + ', user-scalable=no'

于是

手机px 变为 手机px/dpr

得到真实的1px

 

其中320和20,作者的解释如下, 本人无法理解

1. 16rem。相当于设计稿的100%。
2. 320是认为页面是320像素。
3. 20是每份的的宽度。因为10px在某些浏览器无法显示(最小12px)所以选择了每份20。
4. 据此可推断,16份即为320px。也即我们认为的页面宽度。

转载于:https://www.cnblogs.com/mengff/p/6279316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值