过渡和动画

Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。

在 CSS 过渡和动画中自动应用 class

Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡

// v要替换成transition组件的name属性值
v-enter:定义进入过渡的开始状态。
v-enter-active:定义进入过渡生效时的状态。
v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。
v-leave: 定义离开过渡的开始状态。
v-leave-active:定义离开过渡生效时的状态。
v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。

示例:

<style>
    .box {
        position: absolute;
        left: 0;
        top: 50px;
        width: 100px;
        height: 100px;
        background-color: red;
    }
    .slide-enter, .slide-leave-to {
        left: 200px;
        opacity: 0;
    }
    .slide-enter-active, .slide-leave-active {
        transition: all 2s;
    }
    .slide-enter-to, .slide-leave {
        left: 0px;
        opacity: 1;
    }
</style>
<button @click="isShow = !isShow">显示/隐藏</button>

<transition name="slide"> 
    <div v-show="isShow" class="box"></div>
</transition>
<script>
    var vm = new Vue({
      el: '#app',
      data: {
        isShow: true
      }
    });
</script>

自定义过渡动画的类名

可以通过transition组件自定义过渡动画的类名,可以方便结合第三方的动画库使用,比如:animate.css

// transition组件的属性 
enter-class
enter-active-class
enter-to-class (2.1.8+)
leave-class
leave-active-class
leave-to-class (2.1.8+)

示例:


<button @click="isShow = !isShow">toggle</button>
<transition 
            enter-active-class="animated fadeIn"
            leave-active-class="animated fadeOut">
    <div v-show="isShow">hello</div>
</transition>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            isShow: true
        }
    });
</script>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。(能够触发的包括 v-if、 v-sho...
    hgzzz阅读 2,642评论 0 0
  • 过渡和动画 过渡 在CSS3引入transition之前css没有时间轴,所有的状态变化都是瞬间完成 transi...
    YQY_苑阅读 1,118评论 0 0
  • 过渡 transition 一、语法 默认值: all 0 ease 0简单示例:transition: all ...
    lesdom阅读 5,942评论 0 1
  • 【萨尔曼·可汗】 他是一位传奇人物,他不是有经验的一线教师,也没有基础教育正统的教学经历,但是他确获得了哈...
    吴小琴凉州207阅读 2,920评论 1 8
  • 我看着他 他却笑看别处 他拿着枪 我却紧握匕首 冰冷 无感 环绕 回旋 如今只是 生而为人 戴发 含齿 便应如他般...
    猴鳝阅读 1,495评论 0 0