在 开发者工具上面 模拟器机型选择 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 出现过此类问题
不加边框的情况下:依然如此
设置盒模型 依然如此
你这不是定义了border了吗……给一个这个样式你就知道为什么多了2px了
box-sizing: border-box; -webkit-box-sizing: border-box;
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 }
我发现56rpx在iphone6上换算成实际单位是27px,没人任何边框等其他样式,有点奇怪呀!
备注一下:把border 1px 去掉也是这个样子 不清楚小程序内部的rpx的转换逻辑是怎样的 转换比例不对啊 感觉