收藏
回答

rpx 在开发者工具以及真机上面换算成px的比例不对

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1.03.2006.090

在 开发者工具上面 模拟器机型选择 iPhone 6/7/8 Plus ,

46px  84rpx   1.826086956521739


92px  168rpx  1.826086956521739

 

139 px 252rpx 1.826086956521739


231px 420rpx  1.818181818181818 

 发现转换比例不对 讲道理 不应该是 230px 420rpx  1.826086956521739 才是正常的么,安卓真机 小米 cc9e 出现过此类问题

不加边框的情况下:依然如此

设置盒模型 依然如此

最后一次编辑于  2020-07-31
回答关注问题邀请回答
收藏

4 个回答

  • 蓝茫
    蓝茫
    07-12


    rpx到真机转换为px时,由于机型不同,所以在转换的时候并不是按2:1去转换的,这时候我们需要去动态的将rpx转px,这样才不会有误差

    // rpx转px
    rpxToPx(rpx) { 
        const screenWidth = uni.getSystemInfoSync().screenWidth return (screenWidth * Number.parseInt(rpx)) / 750 } 
    
    // px转rpx 
    pxToRpx(px) {
       const screenWidth = uni.getSystemInfoSync().screenWidth return (750 * Number.parseInt(px)) / screenWidth }
    
    


    07-12
    有用
    回复
  • 覃久久
    覃久久
    03-28

    我发现56rpx在iphone6上换算成实际单位是27px,没人任何边框等其他样式,有点奇怪呀!

    03-28
    有用
    回复
  • 锤锤
    锤锤
    2020-07-31

    备注一下:把border 1px 去掉也是这个样子 不清楚小程序内部的rpx的转换逻辑是怎样的 转换比例不对啊 感觉

    2020-07-31
    有用
    回复
  • brave
    brave
    2020-07-31

    你这不是定义了border了吗……给一个这个样式你就知道为什么多了2px了

    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    
    2020-07-31
    有用
    回复 2
    • 锤锤
      锤锤
      2020-07-31
      请注意我红色圆圈的地方 ,是小程序已经自己换算成231px ,去掉边框是一样的
      2020-07-31
      回复
    • 锤锤
      锤锤
      2020-07-31
      看下小程序片段  自己跑一下 大哥 在模拟器机型选择 iPhone 6/7/8 Plus 运行试试 看看能不能调到230
      2020-07-31
      回复
登录 后发表内容
问题标签