2015-07-01 17:25:16 +08:00
|
|
|
.swing-motion(@className, @keyframeName) {
|
2015-11-26 19:32:55 +08:00
|
|
|
.@{className}-enter,
|
|
|
|
.@{className}-appear {
|
2015-07-01 17:25:16 +08:00
|
|
|
.motion-common();
|
|
|
|
animation-play-state: paused;
|
|
|
|
}
|
2015-11-26 19:32:55 +08:00
|
|
|
.@{className}-enter.@{className}-enter-active,
|
|
|
|
.@{className}-appear.@{className}-appear-active {
|
2018-12-07 16:17:45 +08:00
|
|
|
animation-name: ~'@{keyframeName}In';
|
2015-07-01 17:25:16 +08:00
|
|
|
animation-play-state: running;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-09-15 15:00:23 +08:00
|
|
|
.swing-motion(swing, antSwing);
|
2015-07-01 17:25:16 +08:00
|
|
|
|
2015-09-15 15:00:23 +08:00
|
|
|
@keyframes antSwingIn {
|
2015-11-26 19:32:55 +08:00
|
|
|
0%,
|
|
|
|
100% {
|
2017-02-06 12:04:35 +08:00
|
|
|
transform: translateX(0);
|
2015-07-01 17:25:16 +08:00
|
|
|
}
|
|
|
|
20% {
|
|
|
|
transform: translateX(-10px);
|
|
|
|
}
|
|
|
|
40% {
|
|
|
|
transform: translateX(10px);
|
|
|
|
}
|
|
|
|
60% {
|
|
|
|
transform: translateX(-5px);
|
|
|
|
}
|
|
|
|
80% {
|
|
|
|
transform: translateX(5px);
|
|
|
|
}
|
2015-08-24 00:31:49 +08:00
|
|
|
}
|