本文介绍: rpx类似rem渲染后实际转换成px之后可能存在小数,在不同设备多多少少会存在渲染问题。而1rpx问题就更加明显,因为不足1个物理像素的话,在IOS会进行四舍五入,而安卓好像统一向上取整,这也是上面两种设备表现不同原因

问题展示

在这里插入图片描述

原因

rpx类似rem,渲染后实际转换成px之后可能存在小数,在不同设备多多少少会存在渲染的问题。而1rpx问题就更加明显,因为不足1个物理像素的话,在IOS会进行四舍五入,而安卓好像统一向上取整,这也是上面两种设备表现不同的原因

解决方法

我们采用方法采用translate:scale(0.5)的方法对边框进行缩放


.select-box{
  position: relative;
  border-width: 0rpx !important;
  padding: 0.5rpx;
  z-index: 0;
}
.select-box::after{
  box-sizing: border-box !important;
  position: absolute;
  border-width: 2rpx !important;
  left: 0;
  top: 0;
  width: 200% !important;
  height: 200% !important;
  transform-origin: 0 0;
  transform: scale(0.5) !important;
  z-index: -1;
}

题外话

border: 1rpx solid #ccc = borderwidthborderstylebordercolor

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注