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

相关推荐
weixin_427771617 小时前
css font-size 的妙用
前端·css
一 乐8 小时前
点餐|智能点餐系统|基于java+ Springboot的动端的点餐系统小程序(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·小程序·论文
liangshanbo12159 小时前
CSS 数学函数完全指南:从基础计算到高级动画
前端·css
Tzarevich14 小时前
浏览器渲染原理深度解析:从HTML/CSS/JS到像素的完整旅程
css·html
全栈软件开发17 小时前
新版点微同城主题源码34.7+全套插件+小程序前后端 源文件
小程序
毕设源码-朱学姐17 小时前
【开题答辩全过程】以 基于java的民宿管理小程序为例,包含答辩的问题和答案
java·开发语言·小程序
鱼鱼块19 小时前
《CSS 核心机制与选择器实战精要》
css
黑云压城After20 小时前
纯css实现加载动画
服务器·前端·css
shykevin20 小时前
uni-app x开发商城系统,小程序发布,h5发布,安卓打包
android·小程序·uni-app
一位搞嵌入式的 genius20 小时前
微前端架构:JavaScript 隔离方案全解析(含 CSS 隔离)概要
前端·css·前端实战