yyzone
Version:
yyzone vue components and utils
77 lines (72 loc) • 1.59 kB
text/less
.move-motion(@className, @keyframeName) {
.make-motion(@className, @keyframeName);
.@{className}-enter-active, .@{className}-appear {
opacity: 0;
animation-timing-function: @yy-ease-in-out;
}
.@{className}-leave-active {
animation-timing-function: @yy-ease-in-out;
}
}
.move-motion(move-up, moveUp);
// moveUpIn
@keyframes moveUpIn {
0% {
transform-origin: 0 0;
transform: translateY(-100%);
opacity: 0;
}
100% {
transform-origin: 0 0;
transform: translateY(0%);
opacity: 1;
}
}
@keyframes moveUpOut {
0% {
transform-origin: 0 0;
transform: translateY(0%);
opacity: 1;
}
100% {
transform-origin: 0 0;
transform: translateY(-100%);
opacity: 0;
}
}
.move-motion(move-message, moveMessage);
@keyframes moveMessageIn {
0% {
opacity: 0;
transform-origin: 0 0;
transform: translateY(-100%);
}
100% {
opacity: 1;
transform-origin: 0 0;
transform: translateY(0%);
}
}
@keyframes moveMessageOut {
0% {
transform-origin: 0 0;
transform: translateY(0%);
opacity: 1;
}
70% {
transform-origin: 0 0;
transform: translateY(-100%);
height: auto;
padding: 10px 16px;
margin-bottom: 14px;
opacity: 0;
}
100% {
transform-origin: 0 0;
transform: translateY(-100%);
height: 0;
padding: 0;
margin-bottom: 0;
opacity: 0;
}
}