vue 动画 枫叶下落 消失 再显示 代码
时间: 2024-05-05 22:18:11 浏览: 9
你好!感谢您的提问。以下是Vue动画实现枫叶下落、消失、再显示的代码示例:
```
<template>
<div>
<transition-group name="leaf-fall" tag="div">
<div v-for="(leaf, index) in leaves" :key="index" class="leaf">
{{ leaf }}
</div>
</transition-group>
<button @click="addLeaf">添加枫叶</button>
</div>
</template>
<script>
export default {
data() {
return {
leaves: []
};
},
methods: {
addLeaf() {
this.leaves.push('🍁');
}
}
};
</script>
<style>
/* 定义动画 */
.leaf-fall-enter-active,
.leaf-fall-leave-active {
transition: transform 1s;
}
.leaf-fall-enter,
.leaf-fall-leave-to {
transform: translateY(-100%);
opacity: 0;
}
.leaf-fall-leave-active {
transform: translateY(100%);
opacity: 0;
}
/* 枫叶样式 */
.leaf {
font-size: 3rem;
line-height: 3rem;
position: relative;
color: #fa8e39;
}
</style>
```
需要注意的是,以上的代码中定义了一个`transition-group`标签,它可以包含`v-for`循环的多个元素,并且会为每个元素应用相同的过渡效果。同时,我们还定义了一个`<button>`按钮来添加新的叶子节点。
CSS部分,我们使用了`.leaf-fall-*`命名的类来定义了叶子下落、消失、再显示的动画效果。`.leaf`类则是定义了叶子的样式。
希望这个示例代码可以帮助您理解Vue动画实现枫叶下落、消失、再显示的原理。如果您有任何疑问或需要进一步帮助,请随时联系我。