0

0

Animate.css中的animated类:实现网页动画的基石

花韻仙語

花韻仙語

发布时间:2025-10-14 09:38:01

|

651人浏览过

|

来源于php中文网

原创

Animate.css中的animated类:实现网页动画的基石

animated类并非bootstrapjquery原生,而是animate.css动画库的核心组成部分。它用于初始化元素以支持css动画效果。结合具体的动画类(如bounce、shake),animated类能轻松为网页元素添加丰富的预设动画,是实现动态用户体验的关键。

Animate.css与animated类概述

在网页开发中,为元素添加动态效果是提升用户体验的重要手段。许多开发者在尝试使用CSS动画时,可能会遇到类似疑问:某些动画效果为何必须依赖一个名为animated的类才能生效?这个animated类究竟扮演了什么角色?

实际上,animated类并非Bootstrap或jQuery等常用前端框架的内置功能,它来源于一个广受欢迎的CSS动画库——Animate.css。Animate.css提供了一系列预设的、跨浏览器兼容的CSS3动画效果,开发者只需通过添加特定的CSS类即可快速实现各种动画。而animated类正是Animate.css库的核心组成部分,它负责为元素设置动画所需的基础CSS属性,例如animation-duration、animation-fill-mode等,确保后续添加的具体动画类(如bounce、shake、fadeOut)能够正确地被浏览器解析和执行。简而言之,没有animated类,Animate.css提供的具体动画类将无法正常工作。

Animate.css库的引入

要使用Animate.css提供的动画效果,首先需要在项目中引入该库。通常有两种主要方式:

  1. 通过CDN引入: 这是最快捷的方式,只需在HTML文件的<head>标签内添加以下<link>标签:

    立即学习前端免费学习笔记(深入)”;

    <head>
      <link
        rel="stylesheet"
        href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
      />
    </head>
  2. 本地引入: 下载Animate.css文件(通常是animate.min.css),并将其放置在项目目录中,然后通过相对路径引入:

    <head>
      <link rel="stylesheet" href="path/to/your/css/animate.min.css" />
    </head>

animated类的基本用法

一旦Animate.css库被成功引入,就可以开始使用animated类与具体的动画类结合,为元素添加动画效果。

animated类通常需要与一个或多个具体的动画类(例如animate__bounce、animate__shake、animate__fadeOut等,Animate.css v4+版本前缀为animate__,旧版本直接是bounce等)一同使用。它的作用是为元素提供动画的通用配置,而具体的动画类则定义了动画的形态和关键帧。

示例代码:

iMuse.AI
iMuse.AI

iMuse.AI 创意助理,为设计师提供无限灵感!

下载

以下代码演示了如何为不同的HTML元素添加Animate.css动画:

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Animate.css 动画示例</title>
    <!-- 引入 Animate.css -->
    <link
      rel="stylesheet"
      href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
    />
    <style>
      body {
        font-family: Arial, sans-serif;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        margin-top: 50px;
      }
      .box {
        width: 150px;
        height: 100px;
        background-color: #007bff;
        color: white;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.2em;
        border-radius: 8px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      }
      button {
        padding: 10px 20px;
        font-size: 1em;
        cursor: pointer;
        background-color: #28a745;
        color: white;
        border: none;
        border-radius: 5px;
      }
      button:hover {
        opacity: 0.9;
      }
    </style>
  </head>
  <body>
    <h1 class="animate__animated animate__fadeInDown">Animate.css 动画演示</h1>

    <div id="target1" class="box">静态弹跳</div>

    <div id="target2" class="box">点击摇动</div>
    <button id="shakeButton">摇动方块</button>

    <div id="target3" class="box">点击淡出</div>
    <button id="fadeOutButton">淡出方块</button>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
      $(document).ready(function () {
        // 静态添加动画,页面加载时即执行
        // 注意:Animate.css v4+ 版本动画类前缀为 `animate__`
        $("#target1").addClass("animate__animated animate__bounce");

        // 动态添加动画,通过点击按钮触发
        $("#shakeButton").on("click", function () {
          // 移除旧的动画类以允许重复播放
          $("#target2")
            .removeClass("animate__shake")
            .addClass("animate__animated animate__shake");
          // 监听动画结束事件,动画结束后移除动画类,以便下次点击时能再次触发
          $("#target2").one(
            "animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
            function () {
              $(this).removeClass("animate__animated animate__shake");
            }
          );
        });

        $("#fadeOutButton").on("click", function () {
          $("#target3")
            .removeClass("animate__fadeOut")
            .addClass("animate__animated animate__fadeOut");
          $("#target3").one(
            "animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
            function () {
              // 动画结束后可以隐藏或移除元素
              $(this).hide();
            }
          );
        });
      });
    </script>
  </body>
</html>

在上述示例中:

  • h1元素在页面加载时会执行fadeInDown动画,因为它的类列表中包含了animate__animated和animate__fadeInDown。
  • #target1元素同样在页面加载时执行bounce动画。
  • #target2和#target3元素通过JavaScript动态添加animate__animated和具体的动画类(animate__shake或animate__fadeOut),从而在按钮点击时触发动画。

高级用法与注意事项

  1. 动画持续时间与延迟: Animate.css提供了一些辅助类来控制动画的持续时间和延迟:

    • animate__slow (2s), animate__slower (3s)
    • animate__fast (800ms), animate__faster (500ms)
    • animate__delay-1s, animate__delay-2s 等。 例如:<div class="animate__animated animate__bounce animate__delay-1s"></div>
  2. 重复播放动画: 如果想让动画重复播放,最常见的方法是在动画结束后移除animate__animated和具体的动画类,然后在需要时重新添加。通过监听animationend事件可以实现这一点。

  3. 动画结束事件: 浏览器提供animationend事件,可以在CSS动画完成后触发。这对于执行后续的JavaScript操作(如移除动画类、隐藏元素等)非常有用。由于浏览器兼容性,通常会监听多个带前缀的事件,或者使用jQuery的one()方法简化处理。

  4. 性能考量: 尽管Animate.css使用了硬件加速的CSS属性,但过度或不恰当的动画仍可能影响页面性能。建议适度使用,并关注动画在不同设备上的表现。

  5. 与其他框架的关系: 再次强调,animated类及其相关的动画类是Animate.css库的特性,与Bootstrap、jQuery等框架是独立的。它们可以协同工作,但彼此并非依赖关系。开发者在项目中引入Animate.css后,即可在任何HTML元素上使用这些动画类。

总结

animated类是Animate.css动画库的基石,它为元素准备了进行CSS动画所需的基础环境。没有它,Animate.css提供的各种精彩动画效果将无法呈现。通过简单地引入Animate.css库,并结合animated类和具体的动画类,开发者可以高效、便捷地为网页元素添加丰富的动态效果,极大地提升用户界面的吸引力和互动性。理解animated类的作用,是掌握Animate.css并有效利用其强大功能的关键一步。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
jquery插件有哪些
jquery插件有哪些

jquery插件有jQuery UI、jQuery Validate、jQuery DataTables、jQuery Slick、jQuery LazyLoad、jQuery Countdown、jQuery Lightbox、jQuery FullCalendar、jQuery Chosen和jQuery EasyUI等。本专题为大家提供jquery插件相关的文章、下载、课程内容,供大家免费下载体验。

156

2023.09.12

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

jquery删除元素的方法
jquery删除元素的方法

jquery可以通过.remove() 方法、 .detach() 方法、.empty() 方法、.unwrap() 方法、.replaceWith() 方法、.html('') 方法和.hide() 方法来删除元素。更多关于jquery相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

406

2023.11.10

jQuery hover()方法的使用
jQuery hover()方法的使用

hover()是jQuery中一个常用的方法,它用于绑定两个事件处理函数,这两个函数将在鼠标指针进入和离开匹配的元素时执行。想了解更多hover()的相关内容,可以阅读本专题下面的文章。

516

2023.12.04

jquery实现分页方法
jquery实现分页方法

在jQuery中实现分页可以使用插件或者自定义实现。想了解更多jquery分页的相关内容,可以阅读本专题下面的文章。

312

2023.12.06

jquery中隐藏元素是什么
jquery中隐藏元素是什么

jquery中隐藏元素是非常重要的一个概念,在使用jquery隐藏元素之前,需要先了解css样式中关于元素隐藏的属性,比如display、visibility、opacity等属性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

129

2024.02.23

jquery中什么是高亮显示
jquery中什么是高亮显示

jquery中高亮显示是指对页面搜索关键词时进行高亮显示,其实现办法:1、先获取要高亮显示的行,获取搜索的内容,再遍历整行内容,最后添加高亮颜色;2、使用“jquery highlight”高亮插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

184

2024.02.23

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

51

2026.01.13

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

90

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.0万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 43.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号