animation动画中scale缩放在webkit内核的bug

为使元素由大到小或由小到大的变化,通常使用css3 的 scale缩放属性。

如,将一元素先放大倍数然后缩小,最后正常大小显示,css代码如下:

@-webkit-keyframes change{
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(2);
-webkit-transform: translate(-50%, -50%) scale(2);
}
70% {
opacity: 1;
transform: translate(-50%, -50%) scale(0.8);
-webkit-transform: translate(-50%, -50%) scale(0.8);
}
100% {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
-webkit-transform: translate(-50%, -50%) scale(1);
}
}
@-moz-keyframes change{
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(2);
-webkit-transform: translate(-50%, -50%) scale(2);
}
70% {
opacity: 1;
transform: translate(-50%, -50%) scale(0.8);
-webkit-transform: translate(-50%, -50%) scale(0.8);
}
100% {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
-webkit-transform: translate(-50%, -50%) scale(1);
}
}

其中,开始时opacity为0,开始变化时,如果该元素在父容器里显示不完全,火狐下动画效果依然能正常表现,但webkit内核下的浏览器会有bug

表现为,运动过程中只看到该元素显示在父容器的部分,等动画结束后才显示全部。

解决办法为,开始时候让该元素的内容全部显示就OK了。

原文地址:https://www.cnblogs.com/damade/p/3992872.html