📜  aos 库 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:25.295000             🧑  作者: Mango

AOS 库 - Shell-Bash

AOS(Animated On Scroll)是一个轻量级的基于 Shell-Bash 的动画效果库,适用于 Web 开发中的页面滚动动画效果。AOS 可以快速实现页面元素的进入、滚动、退出等动画效果,让页面更加活泼生动。下面是对 AOS 库进行详细介绍。

安装

AOS 可以通过 npm 进行安装:

npm install aos --save

或者通过 CDN 引入:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.css" />
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.js"></script>
使用
初始化

在使用 AOS 之前,需要先对其进行初始化:

import AOS from 'aos';
import 'aos/dist/aos.css';

AOS.init();
自定义配置

可以通过自定义配置来修改 AOS 的默认设置:

AOS.init({
  duration: 1200,
  easing: 'ease-in-out',
  delay: 100,
  once: true
});
HTML

在需要添加动画效果的元素上添加 data-aos 属性:

<div data-aos="fade-up">Hello World!</div>
动画类型

AOS 提供了多种动画类型,可以通过 data-aos 属性来选择:

  • fade:透明度渐变效果
  • fade-up:往上滑动淡出效果
  • fade-down:往下滑动淡出效果
  • fade-left:往左滑动淡出效果
  • fade-right:往右滑动淡出效果
  • fade-up-right:往右上滑动淡出效果
  • fade-up-left:往左上滑动淡出效果
  • fade-down-right:往右下滑动淡出效果
  • fade-down-left:往左下滑动淡出效果
  • flip-up:向上旋转效果
  • flip-down:向下旋转效果
  • flip-left:向左旋转效果
  • flip-right:向右旋转效果
  • slide-up:往上滑动效果
  • slide-down:往下滑动效果
  • slide-left:往左滑动效果
  • slide-right:往右滑动效果
  • zoom-in:缩小效果
  • zoom-out:放大效果
示例

下面是一个使用 AOS 的示例:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>AOS Demo</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.css" />
    <style>
      .box {
        width: 100%;
        height: 200px;
        background-color: #ff5722;
        margin: 20px 0;
      }

      .box1 {
        background-color: #e91e63;
      }

      .box2 {
        background-color: #9c27b0;
      }

      .box3 {
        background-color: #3f51b5;
      }

      .box4 {
        background-color: #009688;
      }

      .box5 {
        background-color: #ffc107;
      }

      .box6 {
        background-color: #607d8b;
      }

      .box7 {
        background-color: #795548;
      }
    </style>
  </head>
  <body>
    <div data-aos="fade-down" class="box"></div>
    <div data-aos="flip-left" class="box"></div>
    <div data-aos="fade-up" data-aos-delay="300" class="box"></div>
    <div data-aos="flip-right" data-aos-delay="300" class="box"></div>
    <div data-aos="zoom-in" data-aos-delay="600" class="box"></div>
    <div data-aos="zoom-out" data-aos-delay="600" class="box"></div>
    <div data-aos="slide-left" data-aos-delay="900" class="box"></div>
    <div data-aos="slide-right" data-aos-delay="900" class="box"></div>
    <div data-aos="fade" data-aos-delay="1200" class="box box1"></div>
    <div data-aos="fade" data-aos-delay="1500" class="box box2"></div>
    <div data-aos="fade" data-aos-delay="1800" class="box box3"></div>
    <div data-aos="fade" data-aos-delay="2100" class="box box4"></div>
    <div data-aos="fade" data-aos-delay="2400" class="box box5"></div>
    <div data-aos="fade" data-aos-delay="2700" class="box box6"></div>
    <div data-aos="fade" data-aos-delay="3000" class="box box7"></div>
    <script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.js"></script>
    <script>
      AOS.init({
        duration: 1200,
        easing: 'ease-in-out',
        delay: 100,
        once: true
      });
    </script>
  </body>
</html>

效果如下:

aos-demo.gif

注意事项
  • AOS 依赖于 CSS3 transform 和 transition 属性,需要浏览器支持。
  • AOS 显示动画效果需要依赖于滚动事件,在使用时需要适当控制滚动事件的触发次数。
  • 如果在使用 AOS 过程中出现问题,可以尝试更新到最新版本或者查看文档中的问题列表和解决方案