zoukankan      html  css  js  c++  java
  • 过渡模式

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8"/>
            <script src="vue.js"></script>
        </head>
        <body>
            <div>
            <h1>--过渡模式(进入和离开同时发生)--</h1>
            <div id="example1">
                <transition name="no-mode-fade">
                    <!--当有相同标签名的元素切换时,需要通过 key 特性
                    设置唯一的值来标记以让 Vue 区分它们,否则 Vue 为了
                    效率只会替换相同标签内部的内容-->
                    <button v-if="on" key="on" @click="on = false">
                        on
                    </button>
                    <button v-else="" key="off" @click="on = true">
                        off
                    </button>
                </transition>
            </div>
            <script>
            var example1 = new Vue({
                el: '#example1',
                data: {
                    on: false
                },
            })
            </script>
            <style>
                .no-mode-fade-enter-active, .no-mode-fade-leave-active {
                    transition: opacity .5s
                }
                .no-mode-fade-enter, .no-mode-fade-leave-active {
                    opacity: 0
                }
            </style>
            </div>
            <div>
            <h1>--过渡模式(元素绝对定位在彼此之上)--</h1>
            <div id="example2">
                <div class="no-mode-absolute-demo-wrapper">
                    <transition name="no-mode-absolute-fade">                
                        <button v-if="on" key="on" @click="on = false">
                            on
                        </button>
                        <button v-else="" key="off" @click="on = true">
                            off
                        </button>                
                    </transition>
                </div>
            </div>
            <script>
            var example2 = new Vue({
                el: '#example2',
                data: {
                    on: false
                },
            })
            </script>
            <style>
                .no-mode-absolute-demo-wrapper {
                    position: relative;
                    height: 18px;
                }
                .no-mode-absolute-demo-wrapper button {
                    position: absolute;
                }
                .no-mode-absolute-fade-enter-active, .no-mode-absolute-fade-leave-active {
                    transition: opacity .5s
                }
                .no-mode-absolute-fade-enter, .no-mode-absolute-fade-leave-active {
                    opacity: 0
                }
            </style>
            </div>
            <div>
            <h1>--过渡模式(加上translate滑动)--</h1>
            <div id="example3">
                <div class="no-mode-translate-demo-wrapper">
                    <transition name="no-mode-translate-fade">                
                        <button v-if="on" key="on" @click="on = false">
                            on
                        </button>
                        <button v-else="" key="off" @click="on = true">
                            off
                        </button>                
                    </transition>
                </div>
            </div>
            <script>
            var example3 = new Vue({
                el: '#example3',
                data: {
                    on: false
                },
            })
            </script>
            <style>
                .no-mode-translate-demo-wrapper {
                    position: relative;
                    height: 18px;
                }
                .no-mode-translate-demo-wrapper button {
                    position: absolute;
                }
                .no-mode-translate-fade-enter-active, .no-mode-translate-fade-leave-active {
                    transition: all 1s;
                }
                .no-mode-translate-fade-enter, .no-mode-translate-fade-leave-active {
                    opacity: 0;
                }
                .no-mode-translate-fade-enter {
                    transform: translateX(31px);
                }
                .no-mode-translate-fade-leave-active {
                    transform: translateX(-31px);
                }
            </style>
            </div>    
            <div>
            <h1>--过渡模式(out-in模式)--</h1>
            <div id="example4">
                <transition name="with-mode-fade" mode="out-in">                
                    <button v-if="on" key="on" @click="on = false">
                        on
                    </button>
                    <button v-else="" key="off" @click="on = true">
                        off
                    </button>                
                </transition>
            </div>
            <script>
            var example4 = new Vue({
                el: '#example4',
                data: {
                    on: false
                },
            })
            </script>
            <style>
                .with-mode-fade-enter-active, .with-mode-fade-leave-active {
                    transition: opacity .5s;
                }
                .with-mode-fade-enter, .with-mode-fade-leave-active {
                    opacity: 0;
                }
            </style>
            </div>
            <div>
            <h1>--过渡模式(in-out模式)--</h1>
            <div id="example5">
                <div class="in-out-translate-demo-wrapper">
                    <transition name="with-mode-fade" mode="in-out">                
                        <button v-if="on" key="on" @click="on = false">
                            on
                        </button>
                        <button v-else="" key="off" @click="on = true">
                            off
                        </button>                
                    </transition>
                <div>
            </div>
            <script>
            var example5 = new Vue({
                el: '#example5',
                data: {
                    on: false
                },
            })
            </script>
            <style>
                .in-out-translate-demo-wrapper {
                    position: relative;
                    height: 18px;
                }
                .in-out-translate-demo-wrapper button {
                    position: absolute;
                }
                .in-out-translate-fade-enter-active, .in-out-translate-fade-leave-active {
                    transition: all 5s;
                }
                .in-out-translate-fade-enter, .in-out-translate-fade-leave-active {
                    opacity: 0;
                }
                .in-out-translate-fade-enter {
                    transform: translateX(31px);
                }
                .in-out-translate-fade-leave-active {
                    transform: translateX(-31px);
                }
            </style>
            </div>        
        </body>
    </html>

    运行效果图:

  • 相关阅读:
    asp.net core abp 视频教程1
    一种简单、易用的顶尖学习法——费曼学习法
    WPF附加属性
    WPF popup被截断的原因和修改方法
    cefsharp 在anycpu下运行
    XP系统运行wpf程序出现透明现象的解决
    Visual studio 2017 Installer 打包.netframework
    WPF Datagrid横向排列
    “App.exe 以附加有调试器,但没有将该调试器配置为调试此未经处理的异常。”
    Head First Python学习笔记4——处理数据
  • 原文地址:https://www.cnblogs.com/gongshunfeng91/p/11327107.html
Copyright © 2011-2022 走看看