Vue的css动画原理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css动画原理</title>
    <script src="../js/vue.js"></script>
    <!--官网:https://cn.vuejs.org/v2/guide/transitions.html#CSS-%E5%8A%A8%E7%94%BB-->
    <style>
        .fade-enter,  /*进入过渡的开始状态*/
        .fade-leave-to{  /*离开过渡的结束状态*/
            opacity: 0;
        }
        .fade-enter-active, /*进入过渡生效时的状态*/
        .fade-leave-active{ /*离开过渡生效时的状态*/
            transition: opacity .5s;
        }
        .slide-fade-enter-active{ /* 设置持续时间和动画函数 */
            transition: all .3s ease;
        }
        .slide-fade-leave-active{
            transition: all .8s cubic-bezier(1.0,0.5,0.8,1.0);
        }
        .slide-fade-enter,.slide-fade-leave-to{
            transform: translateX(10px);
            opacity: 0;
        }
    </style>
</head>
<body>
<div id="app">
    <button @click="btnClick">change</button>
    <transition name="fade">
        <div v-if="show">hello</div>
    </transition>
    <hr>
    <transition name="slide-fade">
        <div v-if="show">hello</div>
    </transition>
</div>
<script>
    vm = new Vue({
        el: '#app',
        data: {
            show:true
        },
        methods:{
            btnClick:function () {
               this.show = !this.show
            }
        }
    })
</script>
</body>
</html>

 

posted @ 2019-12-10 16:07  fly_bk  阅读(223)  评论(0编辑  收藏  举报