微信小程序中 Transition 动画在 Android 手机上正常,但在 ios 上出现闪动问题的解决

38 阅读1分钟

maomi.png 在微信小程序开发中,为了实现5个图片围着圆圈旋转效果,我使用了 css3 的 transform + transition 来实现,在Android上表现正常, 在ios上右上角的图片总是先消失一下,再出来,核心代码如下:

.img1 {
    transform: scale(0.8) translate(30%,40%) ;
    transition: transform 0.3s;
 }
 .img2 {
    transform: scale(0.4) translate(30%,-40%) ;
    transition: transform 0.3s;
 }
 .img3 {
    transform: scale(0.4) translate(-30%,-40%) ;
    transition: transform 0.3s;
 }
 .......

经过测试和查阅资料,发现transform里的 translate 和 scale 2个参数必须有序且translate在前,修改后的代码如下:

.img1 {
    transform: translate(30%,40%) scale(0.8);
    transition: transform 0.3s;
 }
 .img2 {
    transform: translate(30%,-40%) scale(0.4);
    transition: transform 0.3s;
 }
 .img3 {
    transform: translate(-30%,-40%) scale(0.4);
    transition: transform 0.3s;
 }
 .......

这样修改后,ios下一切正常了,不过scale参数放在translate之后,相对位置会发生变化,translate()里的 x 和 y 的值也要调整一下。

注:实际代码中我写的css全是动态的,为了表达简便,我把动态 css 改成了静态 css