zoukankan      html  css  js  c++  java
  • Vue-router 第8节 路由的过渡动画

    Vue-router 第8节 路由的过渡动画


    第8节 路由的过渡动画

    在页面切换时我们加入一些动画效果,可以更高端大气上档次,提升我们程序的动效设计。这节课学习一下路由的过渡动画效果制作。

    transition标签

    想让路由有过渡动画,需要在标签的外部添加标签,标签还需要一个name属性

    <transition name="fade">
    	<router-view/>
    </transition>
    

    我们在/src/App.vue文件里添加了<transition>标签,并给标签起一个名字叫fade

    这里要了解四个CSS类名:

    css过渡类名

    组件过渡过程中,会有四个CSS类名进行切换,这四个类名与transition的name属性有关,比如name=”fade”,会有如下四个CSS类名

    1. fade-enter:进入过渡的开始状态,元素被插入时生效,只应用一帧后立刻删除;(一瞬间)
    2. fade-enter-active:进入过渡的结束状态,元素被插入时就生效,在过渡过程完成后移除;
    3. fade-leave:离开过渡的开始状态,元素被删除时触发,只应用一帧后立刻删除;
    4. fade-leave-active:离开过渡的结束状态,元素被删除时生效,离开过渡完成后被删除。

    从上面四个类名可以看出,fade-enter-active和fade-leave-active在整个进入或离开过程中都有效,所以CSS的transition属性在这两个类下进行设置。

    那我们就在App.vue页面里加入四种CSS样式效果,并利用CSS3的transition属性控制动画的具体效果。代码如下:(在App.vue的style中加入)

    .fade-enter {  //一瞬间不加冒号
      opacity:0;   //做一个淡入淡出的效果,设置为0,代表透明度
    }
    .fade-leave{
      opacity:1;  //不透明
    }
    .fade-enter-active{
      transition:opacity .5s;  //做浏览器兼容要去学习o、ms等等前缀
    }
    .fade-leave-active{
      opacity:0;
      transition:opacity .5s;
    }
    

    上边的代码设置了改变透明度的动画过渡效果,是默认的mode模式in-out模式:
    <transition name="fade" mode="in-out">
    这并不是我们想要的。

    下面我们学一下mode模式。

    过渡模式mode

    • in-out:新元素先进入过渡,完成之后当前元素过渡离开;
    • out-in:当前元素先进行过渡离开,离开完成后新元素过渡进入。

    这节课只能算是一个简单的过渡入门,如果想做出实用酷炫的过渡效果,需要有较强的动画制作能力,CSS动画能力也是一个很重要的知识

  • 相关阅读:
    Oracle 推出 ODAC for Entity Framework 和 LINQ to Entities Beta版
    Entity Framework Feature CTP 5系列文章
    MonoDroid相关资源
    MSDN杂志上的Windows Phone相关文章
    微软学Android Market推出 Web Windows Phone Marketplace
    使用 Visual Studio Agent 2010 进行负载压力测试的安装指南
    MonoMac 1.0正式发布
    Shawn Wildermuth的《Architecting WP7 》系列文章
    使用.NET Mobile API即51Degrees.mobi检测UserAgent
    MongoDB 客户端 MongoVue
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12711271.html
Copyright © 2011-2022 走看看