在微信小程序开发中,为了实现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