在安卓手机中rem单位border-radius:50%画圆变形的解决方案

罪魁祸首

  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调整下圆的位置就大功告成了! 如果对你有帮助,点赞收藏就是对我最大的鼓励啦!谢谢~~

为了避免对其他元素造成影响,应将px/rem缩小,再通过transform scale放大。

转载于:https://www.javascriptcn.com/read-51732.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值