css中原有尺寸单位在不同尺寸屏幕中不能完美实现元素按比例缩放,wxss在此基础上扩展了两种尺寸单位:rpx(responsive pixel)和rem(root em)这两种尺寸单位都是相对单位,最终会被换算为px,使用rpx和rem布局页面能让页面界面在不同尺寸屏幕中按比例缩放。
1、rpx
rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。
设备 | rpx换算px (屏幕宽度/750) | px换算rpx (750/屏幕宽度) |
---|---|---|
iPhone5 | 1rpx = 0.42px | 1px = 2.34rpx |
iPhone6 | 1rpx = 0.5px | 1px = 2rpx |
iPhone6 | Plus 1rpx = 0.552px | 1px = 1.81rpx |
建议: 在设计界面时,如果要实现尺寸适应,开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。
注意: rpx和ren最终要被转化成px,在某些情况下可能会存在除不尽的情况。在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况。
2、rem
同rpx一样,wxss规定屏幕宽度为20rem,同样在iPhone6中,屏幕宽度为375px,即20rem=375px,所以在iPhone6中1rem=18.75px
设备 | rem换算px (屏幕宽度/20) | px换算rem (20/屏幕宽度) |
---|---|---|
iPhone5 | 1rem = 15.75px | 1px = 0.06349rem |
iPhone6 | 1rem = 18.75px | 1px = 0.053rem |
iPhone6 | Plus 1rem = 20.7px | 1px = 0.04830rem |