最近在参加一个需求开发的时候,发现了一个问题:使用css画的小圆在真机上变成不规则的圆。
问题概述
看看下面这个效果:
左上角的这个不规则圆形,我给它设置的css样式是这样的:
.radio {
width: rem(14);
height: rem(14);
border: rem(3) solid #999aaa;
}
很明显我设置的样式是圆形的样式,但是却没有达到我想要的效果,这是为什么呢?
经过同事提醒:这是移动端计算精度的问题,由于我们在移动端使用的rem是经过换算而得出的。而我们目前的计算基数是有问题的。
解决方案
解决方案一般有以下两种:
- 很多文章指出直接用px,但是这样做无法达到适配的目的;
- 使用svg icon,既可以适配,即使再小的圆形也能在不同屏幕上完美展示。
但是我在今天在使用图片的时候,发现还是会出现计算错误,于是最后直接使用px,完美解决问题。