(二)Vue中使用animate.css

本节知识点

  • 关键帧实现动画效果 v-enter-active ,v-leave-active

实现

  • (1)实现关键帧效果
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

<body>
  <div id="app">
    <transition name="fade">
      <div v-if="show">Hello World</div>
    </transition>

    <button @click="change">点击切换</button>
  </div>
</body>
<script>
  let app = new Vue({
    el: "#app",
    data: {
      message: "Hello World!",
      show: true
    },
    methods: {
      change() {
        this.show = !this.show;
      }
    },
  })
</script>
<style>
  * {
    margin: 0px;
    padding: 0px;
  }
  
  #app {
    font-size: 24px;
    color: #000;
  }
  /*动画开始到结束有*/
  
  @keyframes bounce-in {
    0% {
      transform: scale(0);
    }
    50% {
      transform: scale(1.5);
    }
    100% {
      transform: scale(1);
    }
  }
  
  .fade-enter-active {
    transform-origin: left center;
    animation: bounce-in 1s;
  }
  /*动画开始到结束有*/
  
  .fade-leave-active {
    transform-origin: left center;
    animation: bounce-in 1s reverse;
  }
</style>

</html>
  • (2) animate.css配合使用
    一共就2个类 enter-active-class,leave-active-class 刚加载不会出现动画还需要appear-active-class等等
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<link rel="stylesheet" href="css/animate.min.css">

<body>
  <div id="app">
    <transition enter-active-class="animated swing" leave-active-class="animated shake">
      <div v-if="show">Hello World</div>
    </transition>

    <button @click="change">点击切换</button>
  </div>
</body>
<script>
  let app = new Vue({
    el: "#app",
    data: {
      message: "Hello World!",
      show: true
    },
    methods: {
      change() {
        this.show = !this.show;
      }
    },
  })
</script>
<style>
  * {
    margin: 0px;
    padding: 0px;
  }
  
  #app {
    font-size: 24px;
    color: #000;
  }
</style>

</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • vue文档以及api阅读整理 更新时间2019-12-20 虽然vue3.0马上要发布了, 但是我认为许多核心ap...
    情有千千节阅读 2,723评论 0 4
  • 在AngularJS应用中创建动画,有三种途径: 使用CSS3动画 使用JavaScript动画 使用CSS3过渡...
    oWSQo阅读 1,475评论 0 3
  • 混合 组件系统是Vue的核心,如何合理的规划组件,是我们在开发中需要深入思考的问题,我个人习惯把一些组件使用逻辑和...
    li4065阅读 860评论 0 1
  • 不知是否因为昨天喝酒的缘故,今天下午插入喷嚏特别多。左鼻道直到把药打出来才稍微好一点。右鼻道还是有肿胀感,不知是鼻...
    王学峰shui阅读 194评论 2 0
  • 山里是最能感受四季变化的,若要知道季节,只消看一眼山便明了了。春季的山黑中泛青,夏季是郁郁葱葱的绿,秋季色彩斑斓,...
    兰州理工大学管理员阅读 202评论 0 0