border-radius安卓版本变形问题

本文探讨了安卓设备上使用rem单位实现圆形边框的变形问题,提出通过transform:scale配合px单位或SVG来确保跨平台圆形效果的一致性,同时介绍了如何通过scale和origin调整来实现完美圆角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

使用border-radius:50%,或者border-radius的值与宽高相等,都可实现一个完美的圆形,但是在不同的安卓手机中,会有不同程度的变形(有的扁圆,有的大,有的小);当使用px做为宽高的单位,border-radius:50%画出来的圆是不会变形的;但使用rem时,rem在换算为px时,会是一个带小数点的值,安卓对小于1px的做了处理(不同浏览器对小于1px的处理方式不同,有的采用四舍五入,有的大于某个值展示1px否则就舍去),从而导致圆角不圆;在ios下就没有这个问题。

解决方案:

  • rem换成px, 但是这样做无法达到适配的目的
  • 使用svg, 既可以适配,即使再小的圆形也能在不同屏幕上完美展示,但又很麻烦
  • 使用transform scale。先把width,height的值放大一倍,然后用transform scale(.5)缩小一倍,接着用transform-origin调整下圆的位置
.dot{
       display: inline-block
       width: .16rem
       height: .16rem
       background-color: red
       border-radius: 50%
       transform: scale(.5)
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值