知识分类
后端
前端
设计
开源组件/产品
APP
其他
广告招募

警惕!1px并不等于2rpx,px和rpx的转换算法

管理员
发布于:2023-04-22 23:48:21

rpx什么?

rpx是微信小程序独有的、解决屏幕自适应的尺寸单位

可以根据屏幕宽度进行自适应,不论大小屏幕,规定屏幕宽为 750rpx

通过 rpx 设置元素和字体的大小,小程序在不同尺寸的屏幕下,可以实现自动适配

rpx 和 px之间的区别:

在普通网页开发中,最常用的像素单位是px

在小程序开发中,推荐使用 rpx 这种响应式的像素单位进行开发

设计师在出设计稿的时候,出的都是二倍图,也就是说如果在这个设计稿上有一个宽高为 200px 的盒子,那么它最终画到页面上实际上是一个宽高为 100px 的盒子,那么再换算成 rpx 需要乘以 2 ,就又变成了 200rpx ,跟设计稿上的数字是一样的,所以我们可以保持数字不变,直接将单位 px 替换成 rpx

iphone6分辨率是375*667,与rpx换算正好是2倍关系,便于单位计算,但是其他分辨率下并不是2倍关系。

下面是几个常见的手机尺寸上RPX和PX的关系:

设备 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

下面提供VUE的方法 计算PX和RPX相互转换

1.rpx转px

rpxTopx: function(rpx) {
	let deviceWidth = wx.getSystemInfoSync().windowWidth; //获取设备屏幕宽度
	let px = (deviceWidth / 750) * Number(rpx)
	return Math.floor(px);
}

2 px转rpx

pxTorpx: function(px) {
	let deviceWidth = wx.getSystemInfoSync().windowWidth; //获取设备屏幕宽度
	let rpx = (750 / deviceWidth) * Number(px)
	return Math.floor(rpx);

}
上一篇:使用disabled让checkbox不可编辑,在某些情况下的弊端和解决方法
下一篇:让uniapp的uni-drawer组件不遮挡自定义导航栏
搜索内容
最新文章
  • 什么是GEO生成式引擎优化?和SEO
  • 如何保证文件上传安全?
  • Go语言时间格式为什么和其他语言不一
  • 软件许可协议有哪些?之间的区别是什么
  • FrameCoder非可站群框架支持
  • git忽略文件.gitignore,
  • 什么AI模型上下文协议(MCP)?M
  • 为什么有些页面的图片看不见?可能是被
  • 什么是AI智能体?AI智能体能做什么
  • 国内AI大模型有哪些?各模型间对比如
精彩文章
  • 1 MSYS2中安装使用GCC的正确方法
  • 2 Layui 怎么样更换主题颜色?
  • 3 vscode用一个插件快速生成Vue
  • 4 连接WIFI出现无Internet
  • 5 FrameCoder非可,基于web
  • 6 JavaScript 判断对象是否为
  • 7 3步教你如何修改uniapp but
  • 8 什么是PHP站群以及使用php开源框
  • 9 OBS在银河麒麟或ubuntu等核心
  • 10 小程序真机调试 报错 define
工信部备案:苏ICP备2023011827号-1
苏公网安备 32111202000338号