HTML5 弹跳动画(Bounce Animation)详解

news/2025/1/9 0:38:20 标签: html5, 前端, html

HTML5 弹跳动画(Bounce Animation)详解

弹跳动画是一种动态效果,使元素在出现或消失时看起来像是在跳动。这种效果可以通过 CSS 动画或 JavaScript 来实现,增强用户体验。

1. 使用 CSS 实现弹跳动画

可以使用 CSS 的 @keyframes 来定义弹跳效果,并通过 animation 属性将其应用到元素上。

html"><!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>弹跳动画示例</title>
    <style>
        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% {
                transform: translateY(0);
            }
            40% {
                transform: translateY(-30px); /* 向上弹跳 */
            }
            60% {
                transform: translateY(-15px); /* 向上弹跳 */
            }
        }

        .bounce {
            display: inline-block;
            animation: bounce 1s infinite; /* 无限循环弹跳 */
        }
    </style>
</head>
<body>

    <h1 class="bounce">我在弹跳!</h1>

</body>
</html>
2. 使用 JavaScript 实现弹跳动画

如果您需要更复杂的控制(如在特定事件下触发弹跳),可以使用 JavaScript。

html"><!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>弹跳动画示例</title>
    <style>
        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% {
                transform: translateY(0);
            }
            40% {
                transform: translateY(-30px); /* 向上弹跳 */
            }
            60% {
                transform: translateY(-15px); /* 向上弹跳 */
            }
        }

        .bounce {
            display: inline-block;
        }
    </style>
</head>
<body>

    <div class="bounce" id="bounceElement">点击我弹跳</div>

    <script>
        const bounceElement = document.getElementById('bounceElement');

        bounceElement.addEventListener('click', () => {
            bounceElement.style.animation = 'bounce 1s'; // 添加弹跳动画
            bounceElement.addEventListener('animationend', () => {
                bounceElement.style.animation = ''; // 动画结束后清除动画
            });
        });
    </script>

</body>
</html>

总结

  • CSS 方法:适合简单的弹跳效果,容易实现并且效果流畅。
  • JavaScript 方法:提供更大的灵活性,可以在用户交互时动态控制弹跳效果。

通过上述方法,您可以轻松实现元素的弹跳动画效果,使网页更加生动有趣。


http://www.niftyadmin.cn/n/5817036.html

相关文章

使用Paddledetection进行模型训练【Part2:数据准备+模型训练】

目录 写在前面 数据准备 模型优化 1. 使用自定义数据 2. 加载预训练模型 3. 启动训练 写在前面 在目标检测算法产业落地过程中&#xff0c;常常会出现需要额外训练以满足实际使用的要求&#xff0c;项目迭代过程中也会出先需要修改类别的情况。本文档详细介绍如何使用Pa…

docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“解决办法

按照官方文档安装NVIDIA Container Toolkit&#xff0c;一路下来都还比较顺利。 但是&#xff0c;不幸还是发生了&#xff0c;运行如下代码&#xff1a; sudo docker run --rm --runtimenvidia --gpus all ubuntu nvidia-smi报错如下&#xff1a; 放狗各种搜索&#xff0c;其…

低空管控技术-无人机云监视技术详解!

一、无人机监听技术的原理 无人机监听技术主要依赖于射频&#xff08;RF&#xff09;探测、光学和红外传感器等技术手段。这些技术通过被动监听和监测无人机与飞行员&#xff08;或控制器&#xff09;之间的通信链路传输&#xff0c;以确定无人机的位置&#xff0c;甚至在某些…

【深度学习】EMA指数移动平均

在深度学习中&#xff0c;经常会使用指数移动平均模型&#xff08;Exponential Moving Average Model&#xff0c;EMA&#xff09;这个方法对模型的参数做平均&#xff0c;以求提高测试指标并增加模型鲁棒。 这里的平均是是一种给予近期数据更高权重的平均方法 EMA是一种用于…

使用java springboot 使用 Redis 作为会话存储

使用 Redis 作为会话存储 Spring Session 提供了对 Redis 的支持&#xff0c;可以将用户的会话数据存储在 Redis 中&#xff0c;从而实现分布式会话管理。 添加依赖 在 pom.xml 中添加 spring-session-data-redis 依赖。 <dependency><groupId>org.springframew…

前端通过后端返回的数据流下载文件

后端返回文件流,下载的文件无法读取,损坏,原因是因为接口处理没有加 blob类型 downloadFile(row.fileId).then(res > { // res 即后端返回的数据流 const blob new Blob([res.data]) if (blob && blob.size 0) { this.$notify.error(内容为空&#xff0c;无法下载…

数值分析速成复习笔记

请确保你有10hour的有效学习时间&#xff0c;保你拿90 证明部分 编程部分

设计模式和原则

一、设计原则 &#xff08;一&#xff09;单一职责原则&#xff08;Single - Responsibility Principle&#xff0c;SRP&#xff09; 定义 一个类应该只有一个引起它变化的原因。这意味着每个类应该专注于一项特定的职责&#xff0c;不要将多种不同的功能或业务逻辑混合在一个…