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动画能力也是一个很重要的知识

  • 相关阅读:
    电脑开机慢是查看与解决方案
    做男人真难
    强大的数据恢复软件--EasyRecovery专业版
    30招让你从头到脚都健康
    教您如何使用SQL中的SELECT LIKE like语句
    SQL server经典电子书、工具和视频教程汇总
    数据开发-经典
    C# 数据操作工具类
    关于web请求中 获取真实IP
    生成二维码
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12711271.html
Copyright © 2011-2022 走看看