zoukankan      html  css  js  c++  java
  • 过度&动画

    1,vue 动画

    ① 操作 css 的 trasition 或 animation

    ② vue 会给目标元素添加 / 移除特定的 class 

    ③ 过渡的相关类名

    xxx-enter-active:指定显示的 transition

    xxx-leave-active:指定隐藏的 transition

    xxx-enter / xxx-leave-to:指定隐藏时的样式

    2,单元素/ 组件的过渡

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            .fade-enter-active,.fade-leave-active{
                transition:opacity .5s;
            }
            .fade-enter,.fade-leave-to{
                opacity:0
            }
        </style>
    </head>
    <body>
        <div id="app">
            <button @click="show=!show">Toggle</button>
            <transition name="fade">
                <p v-if="show">hello</p>
            </transition>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            new Vue({
                el:'#app',
                data:{
                    show:true
                }
            })
        </script>
    </body>
    </html>
    

     在进入 / 离开 的过渡中,会有6个 class 切换:

    ① v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

    ② v-enter-active:定义进入过渡生效时的状态,在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡 / 动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

    ③ v-enter-to:定义进入过渡的结束状态,在元素被插入之后下一帧生效(与此同时 v-enter 被移除) ,在过渡 / 动画 完成之后移除。

    ④ v-leave:定义离开过渡时的开始状态,在离开过渡被触发时立刻生效,下一帧被移除。

    ⑤ v-leave-active:定义离开过渡生效时的状态,在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡 / 动画完成之后移除,整个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

    ⑥ v-leave-to:定义离开过渡的结束状态,在离开过渡被触发之后下一帧失效(与此同时 v-leave 被删除),在过渡 / 动画完成之后移除。

    3,css 过渡

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            .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="show=!show">Toggle render</button>
            <transition name="slide-fade">
                <p v-if="show">hello</p>
            </transition>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            new Vue({
                el:'#app',
                data:{
                    show:true
                }
            })
        </script>
    </body>
    </html>

    4,css 动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            .bounce-enter-active {
                animation: bounce-in .5s;
            }
            .bounce-leave-active {
                animation: bounce-in .5s reverse;
            }
            @keyframes bounce-in {
              0% {
                transform: scale(0);
              }
              50% {
                transform: scale(1.5);
              }
              100% {
                transform: scale(1);
              }
            }
        </style>
    </head>
    <body>
        <div id="app">
            <button @click="show=!show">Toggle show</button>
            <transition name="bounce">
                <p v-if="show">hello,world.</p>
            </transition>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            new Vue({
                el:'#app',
                data:{
                    show:true
                }
            })
        </script>
    </body>
    </html>
    

    https://cn.vuejs.org/v2/guide/transitions.html

  • 相关阅读:
    62. Unique Paths
    24. Swap Nodes in Pairs
    83. Remove Duplicates from Sorted List
    21. Merge Two Sorted Lists
    141. Linked List Cycle
    268. Missing Number
    191. Number of 1 Bits
    231. Power of Two
    9. Palindrome Number
    88. Merge Sorted Array
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/13458185.html
Copyright © 2011-2022 走看看