vue2使用transition过渡动画,初始动画无效果

v2中使用默认的xx-enter-fromxx-leave-to的css不生效,导致初始动画无效
解决办法:使用animation自定义过渡动画

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      p {
        width: 200px;
        height: 100px;
        background: red;
        position: absolute;
        right: 20px;
        overflow: hidden;
      }
      .slide-fade-enter-active {
        animation: bounce-in 5s ease;
      }
      .slide-fade-leave-active {
        animation: bounce-in 5s reverse;
      }

      @keyframes bounce-in {
        0% {
          width: 0;
        }
        100% {
          width: 200px;
        }
      }
    </style>
  </head>
  <body>
    <div id="app">test</div>
  </body>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
  <script>
    new Vue({
      template: `<div><button @click="show = !show">Toggle Slide + Fade</button>
  <Transition appear name="slide-fade" mode="in-out">
    <p v-if="show">hello</p>
  </Transition></div>`,
      data() {
        return {
          show: false
        }
      }
    }).$mount('#app')
  </script>
</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容