小程序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

相关推荐
一字白首16 小时前
小程序组件化进阶:从复用到通信的完整指南DAY04
前端·小程序·apache
读忆16 小时前
你是否用过Tailwind CSS?你是在什么情况下使用的呢?
前端·css·经验分享·笔记·taiiwindcss
是Winky啊16 小时前
【逆向+爬虫】获取小程序信息
小程序
阿珊和她的猫16 小时前
探秘小程序:为何拿不到 DOM 相关 API
前端·小程序
灵机一物16 小时前
灵机一物AI智能电商小程序(已上线)-LangGraph落地电商购物Agent:搜索反馈回路从工程实践到产品化落地
人工智能·小程序
mon_star°17 小时前
基于微信小程序原生框架搭建的转盘小程序1.0(附源码)
微信小程序·小程序·notepad++
捕捉一只前端小白17 小时前
cpolar内网穿透以及微信小程序域名设置
前端·vue.js·微信小程序·小程序
2601_952013761 天前
新麦同城到家预约上门小程序V3全开源版 vueadmin+unipp开源前端+小程序端
小程序
小J听不清1 天前
CSS 字体样式全解析:字体类型 / 大小 / 粗细 / 样式
前端·javascript·css·html·css3
小J听不清1 天前
CSS 三种引入方式全解析:行内 / 内部 / 外部样式表(附优先级规则)
前端·javascript·css·html·css3