微信小程序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>
相关推荐
白菜__5 分钟前
去哪儿小程序逆向分析(酒店)
前端·javascript·爬虫·网络协议·小程序·node.js
我命由我1234530 分钟前
微信小程序 bind:tap 与 bindtap 的区别
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
2501_915921432 小时前
Fiddler抓包工具详解,HTTPHTTPS调试、代理配置与接口分析实战教程
服务器·ios·小程序·fiddler·uni-app·php·webview
我命由我123453 小时前
微信小程序 - 页面跳转并传递参数(使用路由参数、使用全局变量、使用本地存储、使用路由参数结合本地存储)
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
00后程序员张3 小时前
数据流抓包实战指南,TCPUDP 流量分析、HTTPS 解密与多工具协同方案
网络协议·http·ios·小程序·https·uni-app·iphone
2501_915921433 小时前
iOS 性能分析工具全景解析,构建从底层诊断到真机监控的多层级性能分析体系
android·ios·小程序·https·uni-app·iphone·webview
2501_915909063 小时前
如何防止 IPA 被反编译,从攻防视角构建一套真正有效的 iOS 成品保护体系
android·macos·ios·小程序·uni-app·cocoa·iphone
毕设源码-邱学长4 小时前
【开题答辩全过程】以 基于微信小程序的社区老年人活动中心信息管理系统的设计与实现 为例,包含答辩的问题和答案
微信小程序·小程序
2501_916007474 小时前
专业的 IPA 处理工具 构建可维护、可回滚的 iOS 成品加工与加固流水线
android·ios·小程序·https·uni-app·iphone·webview