罪魁祸首
i{
display inline-block
width .08rem
height .08rem
background-color #D0021B
border-radius 50%
}
画了个圆,在ios中效果很理想。但是在安卓手机中会有变形的情况存在,渲染方面确实安卓手机干不过ios(毕竟安卓版本众多,还有什么0.5px的线等等的坑,ios都是能完美运行,安卓总得找hack方法)。
当使用px做单位,border-radius 50%出来的圆是不会变形的,可能是安卓在rem计算过程中产生误差或者有什么其他因素造成的渲染问题。
网上有很多的办法,border-radius:9999px;等等,但都没什么软用。
手刃之法
这里我推荐给大家一种方法,能解决这个问题。
i{
display inline-block
width .16rem
height .16rem
background-color #D0021B
border-radius 50%
transform scale(.5)
transform-origin: 0% center
}
就是使用transform scale,先提前把px/rem相关的值放大一倍。然后用transform scale(.5)缩小一倍,也就是我们想要的倍数。然后你就会惊奇的发现渲染出来的图案,贼圆!接着用transform-origin调整下圆的位置就大功告成了!
如果对你有帮助,点赞收藏就是对我最大的鼓励啦!谢谢~~