vue+ts或者react+ts如何使用animate.css

简介: vue+ts或者react+ts如何使用animate.css


前言

animate.css是一个第三方的纯css库,其中内置了众多我们常用的动画特效,详细特效及文档可以浏览animate.style以及animate.css动画演示,关于源码,可查看animate.css源码

使用animate.css(以vue+ts为例,react可参照类似方法)

  1. 安装
npm i animate.css -S
  1. main.ts中引入
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
import animated from 'animate.css'; // 引入animate.css
const app = createApp(App);
app.use(store);
app.use(router);
app.use(animated); // 注册animate.css
app.mount('#app');
window.vm = app;
  1. 此时会提示找不到模块“animate.css”或其相应的类型声明

    那么我们就需要修改shims-vue.d.ts,声明一下animate.css的类型
/* eslint-disable */
declare module '*.vue' {
  import type { DefineComponent } from 'vue'
  const component: DefineComponent<{}, {}, any>
  export default component
}
declare module '*.vue' {
  import Vue from 'vue';
  export default Vue;
}
declare module '*.png' {
  export const png: any;
}
declare module '*.jpg' {
  export const jpg: any;
}
declare module '*.jpeg' {
  export const jpeg: any;
}
declare module '*.gif' {
  export const gif: any;
}
declare module 'animate.css' // 声明animate.css的类型,否则引入animate.css会报错,提示找不到animate.css模块
declare global {
  interface Window {
    [propName: string]: any;
  }
}
  1. 组件中使用animate.css,需要注意的是,样式class类名,必须加上animate__animated,其次则是要引入动画的class类名,如animate__slideInUp
<template>
  <div class="content-box animate__animated animate__slideInUp">
    滑动进入特效演示
  </div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
export default defineComponent({
  setup() {},
});
</script>
<style lang="scss" scoped>
.content-box {
  width: 200px;
  height: 200px
}
</style>
  1. 如果想修改动画的属性,比如执行时间,延迟等等,有以下几种方法
    ①方法1:直接通过动画class类名animated修改
.animated {
    -webkit-animation-duration: 1s; 
    animation-duration: 2s; // 动画执行时间
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
  1. ②方法2:修改指定动画的属性
.animate__slideInUp {
    -webkit-animation-duration: 1s; 
    animation-duration: 2s; // 动画执行时间
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
  1. ③方法3:在要执行动画的div设置stye
<div class="content-box animate__animated animate__slideInUp" :style="{animationDuration: '500ms'}"></div>
目录
相关文章
|
3月前
|
前端开发
React使用useRef ts 报错
【8月更文挑战第17天】
66 4
|
30天前
|
前端开发 JavaScript
React Tailwind CSS
10月更文挑战第12天
9 1
|
30天前
|
前端开发 容器
React 使用 CSS 样式
10月更文挑战第12天
28 0
|
2月前
|
资源调度 JavaScript 前端开发
使用vite+react+ts+Ant Design开发后台管理项目(二)
使用vite+react+ts+Ant Design开发后台管理项目(二)
|
2月前
|
JavaScript 前端开发
react Or vue中引入animate.css
本文介绍了如何在React或Vue项目中引入animate.css库来使用动画效果,包括通过npm安装或在线链接引入,并展示了如何在React组件和Vue路由过渡中使用动画类。
57 0
|
3月前
|
前端开发 C++
使用 Vite 创建 React+TS+SW 项目并整合 AntDesign 、Scss 等组件或插件
本文记录了如何使用Vite创建一个React+TypeScript+Service Workers(SW)项目,并整合AntDesign组件库和Scss等插件,包括项目的创建、配置问题解决、AntDesign和Scss的整合方法。
240 1
|
3月前
|
前端开发 JavaScript
使用Vue+CSS实现汉堡图标过渡为叉号图标,有点意思
本文分享了如何使用Vue和CSS实现一个汉堡图标在点击时过渡为叉号图标的动画效果,并提供了详细的实现代码和效果演示。
69 0
使用Vue+CSS实现汉堡图标过渡为叉号图标,有点意思
|
3月前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
55 0
|
3月前
|
前端开发 JavaScript 开发者
【前端革新力】React与CSS-in-JS完美邂逅:从styled-components到emotion,全面解析样式管理新趋势的实战应用与优势剖析!
【8月更文挑战第31天】CSS-in-JS 作为一种新兴的样式管理方式,近年来在前端社区受到广泛关注。它将样式嵌入 JavaScript,实现了样式与逻辑的高度耦合,提升了开发效率并解决了全局样式污染等问题。本文通过具体代码示例,探讨 CSS-in-JS 在 React 开发中的应用,并分享实践心得。首先介绍了 CSS-in-JS 的基本概念,然后详细展示了如何使用 styled-components 和 emotion 这两个流行库创建样式化组件。
151 0
|
4月前
|
JavaScript 前端开发 容器
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
189 2