当前位置: 首页 > 工具软件 > animate.less > 使用案例 >

纯css动画库animate.css的用法

訾稳
2023-12-01

背景

手撕css动画是不是很脑壳痛呢,别慌,它来了,在这里推荐一款纯css的动画库,animate.css,只需要引入它,更改一下元素类名,即可快速实现你想要的动画效果
animate.css动画示例展示
animate.css官方github
animate.css的3.x以下老版本的文档(老版本,不再推荐了)
animate.css新版本官方文档

引入

法一

npm

npm install animate.css --save

yarn

yarn add animate.css

main.js中配置

// 引入animate.css
import animated from 'animate.css';
Vue.use(animated);

法二

通过CDN方式引入

<head>
  <link
    rel="stylesheet"
    href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.min.css"
  />
</head>

使用

组件中使用

<h1 class="animate__animated animate__fadeIn">An animated element</h1>

如何自定义修改如持续时间之类的动画属性

  • 法一
/* 只更改一个动画的持续时间 */
.animate__animated.animate__bounce {
  --animate-duration: 2s;
}

/* 更改所有动画的持续时间 */
:root {
  --animate-duration: 800ms;
  --animate-delay: 0.9s;
}
  • 法二
    除了直接修改style,我们还可以给组件添加animate.css提供的一些特殊类名达到实现修改持续时间之类的动画属性
    如:
<div class="animate__animated animate__bounce animate__delay-2s">Example</div>

animate提供了哪些动画

  • fade 淡入淡出
属性效果
fadeIn淡入
fadeInDown向下淡入
fadeInDownBig向下快速淡入
fadeInLeft向右淡入
fadeInLeftBig向右快速淡入
fadeInRight向左淡入
fadeInRightBig向左快速淡入
fadeInUp向上淡入
fadeInUpBig向上快速淡入
fadeOut淡出
fadeOutDown向下淡出
fadeOutDownBig向下快速淡出
fadeOutLeft向左淡出
fadeOutLeftBig向左快速淡出
adeOutRight向右淡出
fadeOutRightBig向右快速淡出
fadeOutUp向上淡出
fadeOutUpBig向上快速淡出
  • bounce 弹跳类
属性效果
bounceIn弹跳进入
bounceInDown向下弹跳进入
bounceInLeft向右弹跳进入
bounceInRight向左弹跳进入
bounceInUp向上弹跳进入
bounceOut弹跳退出
bounceOutDown向下弹跳退出
bounceOutLeft向左弹跳退出
bounceOutRight向右弹跳退出
bounceOutUp向上弹跳退出
  • zoom 缩放类
属性效果
zoomIn放大进入
zoomInDown向下放大进入
zoomInLeft向右放大进入
zoomInRight向左放大进入
zoomInUp向上放大进入
zoomOut缩小退出
zoomOutDown向下缩小退出
zoomOutLeft向左缩小退出
zoomOutRight向右缩小退出
zoomOutUp向上缩小退出
  • rotate 旋转类
属性效果
rotateIn顺时针旋转进入
rotateInDownLeft从左往下旋入
rotateInDownRight从右往下旋入
rotateInUpLeft从左往上旋入
rotateInUpRight从右往上旋入
rotateOut顺时针旋转退出
rotateOutDownLeft向左下旋出
rotateOutDownRight向右下旋出
rotateOutUpLeft向左上旋出
rotateOutUpRight向右上旋出
  • flip 翻转类
属性效果
flipInX水平翻转进入
flipInY垂直翻转进入
flipOutX水平翻转退出
flipOutY垂直翻转退出
  • strong 强调类
属性效果
bounce弹跳
flash闪烁
pulse脉冲
rubberBand橡皮筋
shake左右弱晃动
swing上下摆动
tada缩放摆动
wobble左右强晃动
jello拉伸抖动

完整的使用示例

<template>
  <div class="hello">
    <div class="box" ref="box">盒子</div>
    <div @click="handleFadeIn">淡入</div>
    <div @click="handleFadeOut">淡出</div>
  </div>
</template>

<script>
export default {
  name: 'Fade',
  data() {
    return {};
  },

  created() {},

  methods: {
    handleFadeIn() {
      // this.$refs.box.className = 'box animated fadeIn'; // 这是3.x以下版本的使用方式
      this.$refs.box.className = 'box animate__animated animate__fadeIn'; // 这是4.0以上版本的使用方式
    },
    handleFadeOut() {
      // this.$refs.box.className = 'box animated fadeOut'; // 这是3.x以下版本的使用方式
      this.$refs.box.className = 'box animate__animated animate__fadeOut'; // 这是4.0以上版本的使用方式
    },
  },
};
</script>

<style lang="less" scoped>
  .box {
    width: 200px;
    height: 200px;
    background-color: red;
  }
</style>

文章参考https://www.cnblogs.com/apolloren/p/10828166.html

 类似资料: