纯css动画库animate.css的用法

纯css动画库animate.css的用法

    • 背景
    • 引入
      • 法一
      • 法二
    • 使用
      • 组件中使用
      • 如何自定义修改如持续时间之类的动画属性
    • animate提供了哪些动画
    • 完整的使用示例

背景

手撕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

你可能感兴趣的:(前端常用技能,javascript,css3,css,前端)