upx 是uniapp的默认尺寸单位, upx 是相对于基准宽度的单位,可以根据屏幕宽度进行自适应。
uni-app 规定屏幕基准宽度750upx。
开发者可以通过设计稿基准宽度计算页面元素 upx 值,设计稿 1px 与框架样式 1upx 转换公式如下:
设计稿 1px / 设计稿基准宽度 = 框架样式 1upx / 750upx
upx不支持动态style中使用,必须通过uni.upx2px(Number)将upx转成px,不过现在官方推荐使用rpx
rpx单位最初由微信引入,它与常见的px单位有一个显著的不同之处,那就是它具备响应式设计的特性。可以将rpx与我们在Web开发中常用的单位如rem、vw、vh等进行类比。微信官方文档对rpx的描述如下:
rpx(responsive pixel):可以根据屏幕宽度自动适应。规定屏幕宽度为750rpx。例如,在iPhone6上,屏幕宽度为375px,总共有750个物理像素,因此750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。
随着智能手机屏幕的多样化发展,不再局限于以前的16:9屏幕比例,手机屏幕的大小和分辨率变得各不相同。这使得前端开发需要更多的响应式和自适应设计,以适应不同的设备。因此,rpx这种响应式单位的出现变得非常重要。
在uni-app中,之前使用了upx单位,后来也转向了rpx,以实现跨平台的统一性。
px 是绝对单位,表示物理像素的尺寸,不会自动适应不同设备的屏幕尺寸。
在使用 px 时,元素的尺寸在不同设备上可能会有所变化,可能导致显示效果不一致。
网友回复