关于rem的思考

来源:4-17 功能选项组件

wykun

2019-08-14

老师,之前我提过rem的问题,但是还是有一点小小的疑问

对于一个375px的宽度(Iphone6),一般来说,UI给的设计稿是750px的逻辑像素.
图片描述

一般我处理的方式是将每个我量取的宽高都除以2,例如一个设计图中80 * 40的按钮,它显示在屏幕上时是40 *20.
假设UI给的设计稿是375的宽,那么不管baseSzie设为多少,只要 元素像素大小 / baseSize = rem值. 通过这个rem值 ✖️ baseSize 就可以得到UI图中的像素大小了.

只要baseSzie等于在html的font-size相同,那么其实从公式上来说都是OK的,前提是设计稿的宽和你浏览器上的宽相同的时候这个baseSize和html font-size必须相同

UI设计稿375 浏览器宽度375

baseSzie 37.5 html font-size: 37.5

但是为了方便,是不是可以将 baseSize 为 100 / 2,因为真正的UI设计稿是750的.然后让html中的font-size为 window.innerWidth(375) / 7.5 = 50

这样的话我也不用自己除以2了,一个40px的宽我只要写0.4rem就可以了.而且在414(iphone 6 plus)时,也可以达到html font-size随着宽度增加而增加的目的.

写回答

1回答

Sunday

2019-08-14

条条大路通罗马,任何实现逻辑只要是可以达到我们想要的目的就可以。


就像我在上次回复中说的,无论是 375 / 10 还是  window.innerWidth / 10 他都不是一个固定的值,而是一个根据经验来得到的一个相对合理的大小。其目的就是为了可以 在面对不同的设备的时候,我们指定的相同的像素,可以根据设备的大小来展示不同的像素数。


所以说如果你惯用的方式,可以达到这样的一个目的,那么就都是可以的。

0
0

混合开发入门 Vue结合Android/iOS开发仿京东项目App

流行的混合开发实战入门,前端和原生开发同学不容错过

1108 学习 · 448 问题

查看课程