Ich benutze Aurelia-Animator-CSS, um Router Ansichten zu animieren. Nach dem Navigieren zu einer neuen Routeransicht möchte ich, dass die aktuelle Ansicht vom Bildschirm nach links verschoben wird, während die neue Ansicht von rechts auf den Bildschirm verschoben wird.Aurelia Router Ansicht Animation mit swap-order = "mit"
Hier ist mein Router-View-Element:
<router-view swap-order="with"></router-view>
Hier wird das obere Element in jeder der Ansichten:
<div class="pages au-animate">
Und hier ist die CSS:
@keyframes slideLeftIn {
0% {
transform: translate(100%, 0);
}
100% {
transform: translate(0, 0);
}
}
@keyframes slideLeftOut {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(-100%, 0);
}
}
.pages.au-enter {
transform: translate(100%, 0);
}
.pages.au-enter-active {
animation: slideLeftIn 0.6s;
}
.pages.au-leave-active {
animation: slideLeftOut 0.6s;
}
Ich verwende Autoprefix äh, so dass Präfixe wie "webkit-" nicht benötigt werden.
Mit swap-order="with"
gleitet die aktuelle Ansicht vom Bildschirm nach links, und dann wird die neue Ansicht ohne Verschieben angezeigt. Das gleiche passiert mit swap-order="before"
.
Hier ist ein youtube screen video mit swap-order="with"
.
Mit swap-order="after"
wird die aktuelle Ansicht vom Bildschirm nach links verschoben, und dann wird die neue Ansicht von rechts eingeblendet.
Hier ist ein youtube screen video mit swap-order="after"
.
Ich würde denken, dass swap-order="with"
wäre derjenige, der in dieser Situation benötigt wird. Aber swap-order="after"
ist am nächsten, was ich brauche, da beide Ansichten tatsächlich Dias durchführen, nur nicht zusammen.
änderte ich die .pages.au-enter-aktive Animation Dauer von 0,6s bis 1,6s nur um zu sehen, was mit Swap-Ordnung geschieht = „mit“. Es zeigt die neue Ansicht von rechts, nachdem die aktuelle Ansicht vollständig ausgeblendet wurde. Die neue Ansicht wird zunächst teilweise angezeigt und dann wie erwartet eingeblendet. Es scheint also, dass die neue Ansicht unsichtbar ist, bis die aktuelle Ansicht aus dem DOM entfernt wird. Jetzt denke ich, dass das Problem etwas mit meinem CSS zu tun hat, aber ich bin mir nicht sicher, was es sein könnte. Irgendwelche Vorschläge? –
Erprobierte ein einfaches Projekt und es funktioniert ordnungsgemäß, so dass ich ziemlich sicher bin, dass es etwas mit dem anderen CSS für .pages zu tun hat. –