知识分类
后端
前端
设计
开源组件/产品
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组件不遮挡自定义导航栏
搜索内容
最新文章
  • 连接WIFI出现无Internet
  • 免费AI SEO工具,SEO的AI生
  • OBS在银河麒麟或ubuntu等核心
  • 常见主板开机进入bios热键,一张图
  • 微软常用运行库VC++合集下载,解决
  • MSYS2中安装使用GCC的正确方法
  • 用了这些网站,多出来的时间让你摸鱼
  • 优麒麟操作系统(麒麟系统社区版)安装
  • 推荐一个Vscode插件,让你写正则
  • MinDoc文档管理系统linux环
精彩文章
  • 1 php将数字转成EXCEL列名,支持
  • 2 什么是PHP站群以及使用php开源框
  • 3 连接WIFI出现无Internet
  • 4 免费AI SEO工具,SEO的AI生
  • 5 FrameCoder非可,基于web
  • 6 PBOOTCMS安全加固方法解析与实
  • 7 常见主板开机进入bios热键,一张图
  • 8 MSYS2中安装使用GCC的正确方法
  • 9 Layui 怎么样更换主题颜色?
  • 10 小程序真机调试 报错 define
工信部备案:苏ICP备2023011827号-1
苏公网安备 32111202000338号