移动端使用px转rem,结果导致border-radius的安卓手机圆点不圆。
问题发现:
接到一个需求,做一个轮播图,页面有圆点表示当前第几张图。vue的框架,使用了px转rem。发现在安卓手机,border-radius:50%,没有生效,圆点不圆。百度了之后发现有许多这样的问题。参照了各位大佬的解决方法,发现都能解决。以下,都是自己测试生效的方法。
解决方法:1.直接使用px,不转换。
2. 使用transform scale,先提前把px/rem相关的值放大一倍。然后用transform scale(.5)缩小一倍,也就是我们想要的倍数。接着用transform-origin调整下圆的位置就大功告成了!
.round {
width: .16rem;
height: .16rem;
background-color: #D0021B;
border-radius: 50%;
transform: scale(.5);
transform-origin: 0% center;
}
- 由于自己使用的是行方内部的轮播组件出了问题。后来使用Vant组件库的轮播没有发现这样的问题,而且轮播的功能更多,更容易修改。当问题不好解决时,可能换一个组件库能轻松的解决。