【发布时间】:2021-09-22 23:44:24
【问题描述】:
我不知道为什么会这样,我正在使用 Vue-router,当我单击按钮更改页面时,我希望元素从上方淡出并淡入。我设法做到了,但是当我单击按钮时,元素向左移动了大约 30px,然后动画发生了。我只有 2 页,其中只有一个元素比有更多元素的页面移动更多。欢迎任何建议在这里是我来自 APP Vue 的代码,其中正在发生转换并加载了路由:
<template>
<div>
<transition name="fade" mode:out-in>
<router-view></router-view>
</transition>
</div>
</template>
<style>
.fade-leave-active {
transition: opacity 1s ease;
opacity: 0;
animation: fade-out 1s ease-out;
}
.fade-leave {
opacity: 1;
transform: translateX(0px);
}
.fade-enter-active {
animation: fade-in 2s ease-out;
}
@keyframes fade-out {
0% {
opacity: 1;
}
60% {
opacity: 0.4;
transform: translateY(0px);
}
100% {
opacity: 0;
transform: translateY(-300px);
}
}
@keyframes fade-in {
0% {
opacity: 0;
transform: translateY(-300px);
}
60% {
opacity: 0;
}
100% {
opacity: 1;
transform: translateY(0);
}
}
</style>
【问题讨论】:
标签: html css vue.js css-animations