Vue 中动画的实现方式有四种:CSS 动画、使用 animate.css 动画库、使用 JavaScript 钩子函数、使用 velocity.js 动画库。以下是 CSS 动画的实现示例:
<div transition="fade">
<p>这是一个带有淡入动画的段落。</p>
</div>
<style>
.fade-enter {
opacity: 0;
}
.fade-enter-active {
opacity: 1;
transition: opacity 0.5s ease;
}
.fade-leave {
opacity: 1;
}
.fade-leave-active {
opacity: 0;
transition: opacity 0.5s ease;
}
</style>
在上述示例中,我们使用了 transition
属性来定义动画,并为元素添加了相应的类名来控制动画的效果。具体来说,当元素进入页面时,会添加 fade-enter
和 fade-enter-active
类名,使其透明度逐渐增加,并在 0.5 秒内逐渐平滑过渡到完全不透明;当元素离开页面时,会添加 fade-leave
和 fade-leave-active
类名,使其透明度逐渐降低,并在 0.5 秒内逐渐平滑过渡到完全透明。