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

相关推荐
剑神一笑7 分钟前
CSS Loading 动画生成器
前端·css
晓得迷路了2 小时前
栗子前端技术周刊第 127 期 - pnpm 11.0、Remix 3 Beta Preview、Astro 6.20...
前端·javascript·css
DFT计算杂谈15 小时前
wannier90 参数详解大全
java·前端·css·html·css3
之歆16 小时前
DAY13_CSS3进阶完全指南 —— 背景、边框、文本、渐变、滤镜与 Web 字体(下)
前端·css·css3
剑神一笑17 小时前
CSS 阴影生成器:从单层到多层叠加的艺术
前端·css·css3
龙猫里的小梅啊1 天前
CSS(七)CSS列表控制
前端·css
浩冉学编程1 天前
微信小程序中基于java后端实现官方的文本内容安全识别msgSecCheck
java·前端·安全·微信小程序·小程序·微信公众平台·内容安全审核
李李李勃谦1 天前
鸿蒙PC配色方案工具:取色、配色生成与 CSS 导出
前端·css·华为·harmonyos
码农小河661 天前
AI 一键生成 HTML/CSS/JS 静态网站【压缩包返回可直接提交】
css·人工智能·html
用户2367829801681 天前
CSS 阴影生成器:从单层到多层叠加的艺术
css