Advertisement

Vue3实现过度动画效果

阅读量:

使用内置transition组件完成动画

复制代码
 <template>

    
   <div>
    
     <button @click="isShow = !isShow">
    
       显示/隐藏
    
     </button>
    
     <transition name="name">
    
       <h2 v-if="isShow">
    
     动画展示的内容
    
       </h2>
    
     </transition>
    
   </div>
    
 </template>
    
  
    
 <script>
    
 export default{
    
   data() {
    
     return {
    
       isShow: true
    
       }
    
     }
    
   }
    
 </script>
    
  
    
 <style scoped>
    
   // name可以根据自己定义来改变css类的前缀名,  默认v-enter-from
    
   .name-enter-from,
    
   .name-leave-to {
    
     opacity: 0;
    
   }
    
   .name-enter-to,
    
   .name-leave-from {
    
     opacity: 1;
    
   }
    
   .name-enter-active,
    
   .name-leave-active {
    
      // transiton: 过度效果css属性名称 过度时间 过度速度曲线 何时开始    
    
     transition: opacity 2s ease;
    
   }
    
   
    
   // 执行动画效果
    
   .name-enter-active{
    
     animation: bounce 1s ease;
    
   }
    
   .name-leave-active{
    
     animation: bounce 1s ease reverse;
    
   } 
    
   
    
   @keyframes bounce{
    
     0% {
    
       transform: scale(0);
    
     }
    
     50% {
    
       transform: scale(2);
    
     }
    
     100 {
    
       transform: scale(1);
    
     }
    
   }
    
 </style>
    
    
    
    

- v-enter-from:定义进入过度的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。
- v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过渡时间,延迟和曲线函数。
- v-enter-to:定义进入过渡的结束状态。在元素被插入之后下一帧生效(与此同时v-enter-from被移除),在过渡/动画米完成之后移除。
- v-leave-from:定义离开过渡的开始状态。在俩口i过渡被触发时立刻生效,下一帧被移除。
- v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被出发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
- v-leave-to:离开过渡的结束状态。在离开过渡被触发之后下一帧生效(与此同时v-leave-from被移除),在过渡/动画米完成之后移除。

全部评论 (0)

还没有任何评论哟~