微信小程序px和rpx单位互转方法

js代码如下

js 复制代码
Page({
  data: {
    width: 0,
    width2: 0
  },

  onLoad: function (options) {
    let px = this.pxToRpx(380)
    let rpx = this.rpxToPx(730.7692307692307) 

    // 检查两个互转是否是相同即可,例如pxToRpx(380)转成730.7692307692307 则rpxToPx(730.7692307692307)如果是380则代表互转没问题
    console.log('px',px); // 750(查看控制台打印,不要查看页面元素,因为页面元素只展示px单位)
    console.log('rpx',rpx); // 390(查看控制台打印,不要查看页面元素,因为页面元素只展示px单位)

    this.setData({
      width: px,  
      width2: rpx
    })
  },
  // px转rpx
  pxToRpx(px) {
    return px * 750 / wx.getSystemInfoSync().windowWidth;
  },
  // rpx转px
  rpxToPx(rpx) {
    return rpx / 750 * wx.getSystemInfoSync().windowWidth;
  }
});

wxml代码如下

js 复制代码
<!-- 微信小程序控制台会自动将rpx转成px,会以px单位显示 -->
<view style="width: {{width}}rpx;height: 30px;background-color: pink;margin-top: 200rpx;"></view>

<view style="width: {{width2}}rpx;height: 30px;background-color: pink;margin-top: 20rpx;"></view>
<!-- 检查一下元素100vw时是否是我们转换出来的像素 -->
<view style="width: 100vw;height: 30px;background-color: pink;margin-top: 20rpx;"></view>
相关推荐
阿里巴巴AI编程社区1 天前
用Qoder打造自己的AI工作台,普通人也可10倍提效!
微信小程序
星光一影1 天前
美容/心理咨询/问诊/法律咨询/牙医预约/线上线下预约/牙医行业通用医疗预约咨询小程序
mysql·小程序·vue·php·uniapp
游戏开发爱好者81 天前
H5 混合应用加密 Web 资源暴露到 IPA 层防护的完整技术方案
android·前端·ios·小程序·uni-app·iphone·webview
wangpq1 天前
记录曾经打开半屏小程序遇到的事
前端·微信小程序
2501_915106321 天前
最新版本iOS系统设备管理功能全面指南
android·macos·ios·小程序·uni-app·cocoa·iphone
游戏开发爱好者81 天前
HTTPS DDoS 排查 异常流量到抓包分析
网络协议·ios·小程序·https·uni-app·iphone·ddos
jay神1 天前
【原创】基于小程序的图书馆座位预约系统
微信小程序·小程序·毕业设计·图书馆自习室座位预约系统·座位预约系统
计算机徐师兄1 天前
Java基于微信小程序的物流管理系统【附源码、文档说明】
java·微信小程序·物流管理系统·java物流管理系统小程序·物流管理系统小程序·物流管理系统微信小程序·java物流管理系统微信小程序
一点晖光1 天前
小程序中web-view加载uni-app H5如何使用postMessage方法的解决方案
前端·小程序·uni-app
2501_915918411 天前
iOS 性能监控 运行时指标与系统行为的多工具协同方案
android·macos·ios·小程序·uni-app·cocoa·iphone