Vue CSS动画原理

微笑、不失礼 提交于 2020-02-08 20:09:40
  • v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。
  • v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。
  • v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。
  • v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。
  • v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
  • v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue中CSS动画原理</title>
  <style>
    .v-enter, .v-leave-to  {
      opacity: 0
    }
    .v-enter-active, .v-leave-active {
      transition: opacity 3s;
    }
    .fd-enter, .fd-leave-to  {
      opacity: 0
    }
    .fd-enter-active, .fd-leave-active {
      color: red;
      transition: opacity 3s;
    }
  </style>
  <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
  <transition>
    <div v-if="isShow">
      <p>hello world</p>
      <p>hello world</p>
    </div>
  </transition>
  <transition name="fd">
    <div v-show="isShow">hello world</div>
  </transition>

  <button @click="handleClick">按钮</button>
</div>
<script>
  var app = new Vue({
    el: '#app',
    data: {
      isShow: true
    },
    methods: {
      handleClick () {
        this.isShow = !this.isShow
      }
    }
  })
</script>
</body>
</html>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!