vue动态添加dom元素、css3 animation 动画 实现字体上升并逐渐消失效果
warning:
这篇文章距离上次修改已过203天,其中的内容可能已经有所变动。
在Vue中,您可以使用v-if
或v-show
来动态添加或删除DOM元素,并利用CSS3的animation
属性来实现字体上升并渐变消失的效果。以下是一个简单的示例:
<template>
<div id="app">
<button @click="show = !show">Toggle Animation</button>
<transition name="fade-up">
<div v-if="show" class="animated-text">Hello World!</div>
</transition>
</div>
</template>
<script>
export default {
data() {
return {
show: true
};
}
};
</script>
<style>
.animated-text {
animation: up-and-fade 3s infinite;
}
@keyframes up-and-fade {
0% {
opacity: 1;
transform: translateY(0);
}
50% {
opacity: 1;
transform: translateY(-20px);
}
100% {
opacity: 0;
transform: translateY(-40px);
}
}
.fade-up-enter-active, .fade-up-leave-active {
transition: opacity 0.5s, transform 0.5s;
}
.fade-up-enter, .fade-up-leave-to /* .fade-up-leave-active for <2.1.8 */ {
opacity: 0;
transform: translateY(20px);
}
</style>
在这个示例中,我们定义了一个animated-text
类,它使用CSS3的animation
属性来创建上升并渐变消失的动画效果。通过Vue的<transition>
组件包裹动态内容,可以在元素显示与隐藏时应用相应的过渡效果。通过改变show
数据属性的值,可以控制文本的显示和隐藏。
评论已关闭