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

相关推荐
mon_star°1 小时前
消防安全培训小程序项目亮点与功能清单
小程序
编程迪2 小时前
基于Java和Vue开发的在线问诊系统医疗咨询小程序APP
小程序
CHU7290353 小时前
知识触手可及:在线教学课堂APP的沉浸式学习体验
前端·学习·小程序
患得患失9493 小时前
【css技巧】用 CSS 实现:移入立即执行,移出延时返回
前端·css
竟未曾年少轻狂4 小时前
微信小程序-组件开发
微信小程序·小程序
CHU7290354 小时前
在线教学课堂APP功能版块设计方案:重构学习场景的交互逻辑
java·学习·小程序·重构
焦糖玛奇朵婷5 小时前
盲盒小程序开发,盲盒小程序怎么做
java·大数据·服务器·前端·小程序
慕斯fuafua5 小时前
CSS——样式
前端·css
像我这样帅的人丶你还1 天前
别再让JS耽误你进步了。
css·vue.js
CHU7290351 天前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序