安卓中border-radius:50%圓角展示不圓問題

做移動端開發(fā)時為了做適配,通常采用rem作為單位,下面來寫一個圓角

.round {
   width: 0.16rem;
    height: 0.16rem;
    border-radius: 50%;
    background: red;
    ...
}

<div class="round"></div>
<div class="round"></div>
<div class="round"></div>
<div class="round"></div>
<div class="round"></div>
image.png

在安卓中的展示效果如上圖所示,第二個圓明顯不是一個規(guī)范的圓型,原因是0.16rem換算成px是一個帶小數(shù)點的值,安卓對小于1px的展示做了處理,從而導致圓角不圓,在ios下就沒有這個問題。
解決方案:

  1. 很多文章指出直接用px, 但是這樣做無法達到適配的目的
  2. 使用svg, 既可以適配,即使再小的圓形也能在不同屏幕上完美展示
// 圓的半徑是0.16rem/2 = 0.08rem
<svg style={{ margin: '3px', height: '0.18rem'}}>
    <circle cx="100" cy="0.08rem" r="0.08rem" fill="red" />
 </svg>
...
 <svg style={{ margin: '3px', height: '0.18rem'}}>
    <circle cx="100" cy="0.08rem" r="0.08rem" fill="red" />
 </svg>       
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容