小程序1rpx边框不完美

问题展示

原因

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

解决方法

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

css 复制代码
.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;
}
  • 给.select-box的元素设置边框宽度为0
  • 给::after伪元素宽高为两倍,边框设置2rpx,
  • 边框其他样式继承元素的设置
  • 然后再缩放0.5来达到边框为1rpx的效果

题外话

border: 1rpx solid #ccc = border-width、border-style、border-color

相关推荐
huangql52016 小时前
CSS布局(五):Flex——让布局更灵活
前端·css
lemon_yyds17 小时前
Element UI 实践踩坑- date-picker 组件 定制化type="daterange"
前端·css
CDwenhuohuo17 小时前
小程序全局使用api
javascript·vue.js·小程序
布局呆星19 小时前
Vue3 笔记:过渡动画与自定义指令
javascript·css·vue.js·python·es6·html5
智慧景区与市集主理人20 小时前
市集分账混乱?巨有科技智慧小程序实现统一收款、自动分账
大数据·科技·小程序
qq43569470120 小时前
JavaWeb03
前端·css·html
front-end-zzq20 小时前
瘦了么打卡微信小程序
小程序
慕斯fuafua21 小时前
CSS——弹性盒子
前端·css
2501_9159090621 小时前
苹果App Store上架全流程指南从注册到上线
android·ios·小程序·https·uni-app·iphone·webview
全栈小521 小时前
【小程序】微信小程序在体验版发起支付的时候提示“由于小程序违规,支付功能暂时无法使用”,是不是一脸懵逼
微信小程序·小程序