<!-- Vue <transition>过渡动画 -->
<template>
<div class="page">
<button @click="show = !show">Toggle show</button>
<transition name="bounce">
<!--
注意:
css animation动画无法应用在内联元素(display: inline;)上
-->
<div class="box" v-if="show">Hello</div>
</transition>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data() {
return {
show: true
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.box {
margin-top: 30px;
width: 130px;
height: 200px; line-height: 200px;
text-align: center;
background-color: #eee;
}
.bounce-enter-active {
animation: b 1s ease-in reverse;
}
.bounce-leave-active {
animation: b 1s ease-in;
}
@keyframes b {
0% {
transform-origin: left;
transform: translateX(0) scaleX(1);
opacity: 1;
}
50% {
transform-origin: left;
transform: scaleX(2);
}
100% {
transform-origin: left;
transform: translateX(300px) scaleX(1);
opacity: 0;
}
}
</style>
Vue <transition>过渡动画案例
最新推荐文章于 2023-03-04 21:24:33 发布