为什么我的CSS动画在移动端卡顿严重?
我在做一个移动端的下拉刷新效果,用的是纯CSS动画,但真机测试时特别卡,尤其是低端安卓机。我试过加了transform: translateZ(0)开启硬件加速,还是没改善。
动画代码是这样的:
@keyframes pullDown {
0% { transform: translateY(-100%); }
100% { transform: translateY(0); }
}
.refresh-indicator {
animation: pullDown 0.4s ease-in-out;
}
是不是哪里写得不对?或者还有别的优化方式?
will-change: transform;替代 translateZ 更优雅。最后记得在animation结束时加个animation-fill-mode: forwards;保持最终状态。移动端优化就是这么回事,多试几次总能找到平衡点。