CSS元素动画篇:基于当前位置的变换动画(三)

基于当前位置的变换动画(三)

  • 前言
  • 缩放效果类元素动画
    • 脉冲动画效果
      • 效果预览
      • 代码实现
    • 橡皮筋动画效果
      • 效果预览
      • 代码实现
    • 果冻动画效果
      • 效果预览
      • 代码实现
    • 欢呼动画效果
      • 效果预览
      • 代码实现
    • 心跳动画效果
      • 效果预览
      • 代码实现
  • 结语

前言

CSS元素动画一般分为两种:一种是元素基于当前位置的变换动画,通过不明显的位移、缩放等方式,实现动画效果,如弹跳、闪烁、抖动等;另一种是元素基于页面位置的变换动画,通过位移、旋转等方式,实现动画效果,如飞入/飞出等。
基于当前位置的变换动画,我又将根据动画实现效果将其分为4类:

  1. 位移效果类:通过不明显的位移,实现元素动画效果,如:水平抖动、垂直抖动等。
  2. 旋转效果类:通过小幅度旋转,实现元素动画效果,如元素摇摆、摇晃等。
  3. 缩放效果类:通过缩放,实现元素动画效果,如脉冲效果、呼吸效果、心跳效果等。
  4. 透明度效果类:通过改变元素透明度,实现元素动画效果,如闪烁效果。

本文主要介绍缩放效果类的相关元素动画效果与代码实现。

缩放效果类元素动画

脉冲动画效果

脉冲动画效果:通过元素放大和缩小的效果,从而产生脉冲的感觉,其效果图如下所示:

效果预览

脉冲动画

代码实现

<style>
/* 脉冲动画 */
@keyframes pulse {0%, 100% {transform: scale(1);}50% {transform: scale(1.1);}
}
.pulse {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.pulse:hover {animation: pulse 1s linear 1;
}
</style><body><span class="pulse">脉冲动画</span>
</body>

橡皮筋动画效果

橡皮筋动画:通过元素伸张和缩小,让元素看起来像被拉长后迅速恢复原状,从而产生橡皮筋拉伸回弹的感觉,其效果图如下所示:

效果预览

橡皮筋动画

代码实现

<style>
/* 橡皮筋效果 */
@keyframes rubberBand {0%, 100% {transform: scale(1, 1);}30% {transform: scale(1.25, 0.75);}40% {transform: scale(0.75, 1.25);}50% {transform: scale(1.15, 0.85);}65% {transform: scale(0.95, 1.05);}75% {transform: scale(1.05, 0.95);}
}
.rubber-band {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.rubber-band:hover {animation: rubberBand 1s 1;
}
</style><body><span class="rubber-band">橡皮筋动画</span>
</body>

果冻动画效果

果冻动画效果:果冻效果和橡皮筋效果类似,只是在橡皮筋的动画基础上增加了轻微旋转,其效果图如下所示:

效果预览

果冻动画

代码实现

<style>
/* 果冻效果 */
@keyframes jello {0%, 100% {transform: skewX(0deg) skewY(0deg);}15% {transform: skewX(-25deg) skewY(-25deg);}30% {transform: skewX(20deg) skewY(20deg);}45% {transform: skewX(-15deg) skewY(-15deg);}60% {transform: skewX(10deg) skewY(10deg);}75% {transform: skewX(-5deg) skewY(-5deg);}
}
.jello {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.jello:hover {animation: jello 1s 1;
}
</style><body><span class="jello">果冻动画</span>
</body>

欢呼动画效果

欢呼动画效果:通过元素放大和轻微抖动,实现简单的欢呼效果,其效果图如下所示:

效果预览

欢呼动画

代码实现

<style>
/* 欢呼动画 */@keyframes tada {0%, 100% {transform: scale(1) rotate(0deg);}10%, 20% {transform: scale(0.9) rotate(-3deg);}30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);}40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}
}
.tada {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.tada:hover {animation: tada 1s 1;
}
</style><body><span class="tada">欢呼动画</span>
</body>

心跳动画效果

心跳动画效果:心跳动画效果和脉冲类似,只是动画细节比脉冲更赋值,动画帧更多,其效果图如下所示:

效果预览

心跳动画

代码实现

<style>
/* 心跳动画 */
@keyframes heartBeat {0%, 100% {transform: scale(1);}25%, 75% {transform: scale(1.1);}50% {transform: scale(0.9);}
}
.heart-beat  {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.heart-beat:hover {animation: heartBeat 1s 1;
}
</style><body><span class="heart-beat">心跳动画</span>
</body>

结语

本文主要介绍了几种常见的缩放效果类元素动画,你还知道哪些缩放效果类元素动画?欢迎在评论区留言分享!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis ssd是什么?Redis 内存空间优化的点都有哪些?embstr 和 row、intset、ziplist分别是什么?

Redis SSD 是什么&#xff1f; Redis SSD 通常指 Redis 使用 SSD&#xff08;固态硬盘&#xff09;作为持久化存储介质的场景。虽然 Redis 是内存数据库&#xff08;数据主要驻留内存&#xff09;&#xff0c;但其持久化机制&#xff08;如 RDB 快照和 AOF 日志&#xff09;需…

【蓝桥杯】 数字诗意

数字诗意 在诗人的眼中&#xff0c;数字是生活的韵律&#xff0c;也是诗意的表达。 小蓝&#xff0c;当代顶级诗人与数学家&#xff0c;被赋予了”数学诗人”的美誉。他擅长将冰冷的数字与抽象的诗意相融合&#xff0c;并用优雅的文字将数学之美展现于纸上。 某日&#xff0…

DHCP 服务器运行流程图

以常见的 DHCP v4 为例,其完整流程如下: 一、客户端请求 IP 地址阶段 DHCPDiscover:客户端启动后,会以广播的形式发送 DHCPDiscover 报文,目的是在网络中寻找可用的 DHCP 服务器。该报文中包含客户端的 MAC 地址等信息,以便服务器能够识别客户端。DHCPOffer:网络中的 D…

一种企业信息查询系统设计和实现:xujian.tech/cs

一种企业信息查询系统设计和实现&#xff1a;xujian.tech/cs 背景与定位 企业在对外合作、风控审查或市场调研时&#xff0c;常需快速获取公开的工商信息。本文介绍一个企业信息搜索引擎&#xff0c;面向普通用户与开发者&#xff0c;帮助快速定位企业名称、统一社会信用代码…

前端面试高频算法

前端面试高频算法 1 排序算法&#xff1b;1.1 如何分析一个排序算法1.1.1 执行效率3.1.2 内存消耗1.1.3 稳定性 1.2 冒泡排序&#xff08;Bubble Sort&#xff09;1.3 插入排序&#xff08;Insertion Sort&#xff09;1.4 选择排序&#xff08;Selection Sort&#xff09;1.5 归…

C++初阶-模板初阶

目录 1.泛型编程 2.函数模板 2.1函数模板概念 2.2实现函数模板 2.3模板的原理 2.4函数模板的实例化 2.4.1隐式实例化 2.4.2显式初始化 2.5模板参数的匹配原则 3.类模板 3.1类模板定义格式 3.2类模板的实例化 4.总结 1.泛型编程 对广泛的类型法写代码&#xff0c;我…

「Mac畅玩AIGC与多模态02」部署篇01 - 在 Mac 上部署 Ollama + Open WebUI

一、概述 本篇介绍如何在 macOS 环境下本地部署 Ollama 推理服务,并通过 Open WebUI 实现可视化交互界面。该流程无需 CUDA 或专用驱动,适用于 M 系列或 Intel 芯片的 Mac,便于快速测试本地大语言模型能力。 二、部署流程 1. 环境准备 安装 Homebrew(如尚未安装):/bin…

JavaScript 中 undefined 和 not defined 的区别

在 JavaScript 的调试过程中&#xff0c;你是否经常看到 undefined 却不知其来源&#xff1f;是否曾被 ReferenceError: xxx is not defined 的错误提示困扰&#xff1f;这两个看似相似的概念&#xff0c;实际上是 JavaScript 类型系统中最重要的分水岭。本文将带你拨开迷雾&am…

django admin AttributeError: ‘UserResorce‘ object has no attribute ‘ID‘

在 Django 中遇到 AttributeError: ‘UserResource’ object has no attribute ‘ID’ 这类错误通常是因为你在代码中尝试访问一个不存在的属性。在你的例子中&#xff0c;错误提示表明 UserResource 类中没有名为 ID 的属性。这可能是由以下几个原因造成的&#xff1a; 拼写错…

对鸿蒙 Next 系统“成熟论”的深度剖析-优雅草卓伊凡

对鸿蒙 Next 系统“成熟论”的深度剖析-优雅草卓伊凡 在科技飞速发展的当下&#xff0c;鸿蒙 Next 系统无疑成为了众多科技爱好者与行业人士关注的焦点。今日&#xff0c;卓伊凡便收到这样一个饶有趣味的问题&#xff1a;鸿蒙 Next 系统究竟需要多长时间才能完全成熟&#xff…

快速上手GO的net/http包,个人学习笔记

更多个人笔记&#xff1a;&#xff08;仅供参考&#xff0c;非盈利&#xff09; gitee&#xff1a; https://gitee.com/harryhack/it_note github&#xff1a; https://github.com/ZHLOVEYY/IT_note 针对GO中net/http包的学习笔记 基础快速了解 创建简单的GOHTTP服务 func …

AI-Browser适用于 ChatGPT、Gemini、Claude、DeepSeek、Grok的客户端开源应用程序,集成了 Monaco 编辑器。

一、软件介绍 文末提供程序和源码下载学习 AI-Browser适用于 ChatGPT、Gemini、Claude、DeepSeek、Grok、Felo、Cody、JENOVA、Phind、Perplexity、Genspark 和 Google AI Studio 的客户端应用程序&#xff0c;集成了 Monaco 编辑器。使用 Electron 构建的强大桌面应用程序&a…

Dify框架面试内容整理-Dify如何处理知识库的集成?

Dify 在知识库集成方面采用了“检索增强生成(RAG)”的技术架构,核心实现思路如下: 一、知识库集成的整体流程 Dify处理知识库集成通常包括以下关键步骤: 文档上传↓

Laravel 模型使用全局作用域和局部作用域

一. 需要解决什么问题 最近Laravel 项目中遇到一个需求&#xff0c;我有一个客户表&#xff0c;每个员工都有自己的客户&#xff0c;但是自己只能看自己的客户。 项目中&#xff0c;有很多功能需要查询客户列表&#xff0c;客户详情&#xff0c;查询客户入口很多&#xff0c;…

【Nova UI】十二、打造组件库之按钮组件(上):迈向功能构建的关键一步

序言 在上一篇文章中&#xff0c;我们深入探索了 icon 组件从测试到全局注册的全过程&#x1f3af;&#xff0c;成功为其在项目中稳定运行筑牢了根基。此刻&#xff0c;组件库的建设之旅仍在继续&#xff0c;我们将目光聚焦于另一个关键组件 —— 按钮组件。按钮作为用户与界面…

鸿蒙OSS文件(视频/图片)压缩上传组件-能够增删改查

一、鸿蒙实现处理-压缩上传整体代码处理逻辑 转沙箱压缩获取凭证并上传文件 文件准备&#xff08;拿到文件流&#xff09;获取上传凭证&#xff08;调接口1拿到file_name和upload_url&#xff09;执行文件上传&#xff08;向阶段2拿到的upload_url上传文件&#xff09;更新列表…

河道流量监测,雷达流量计赋能水安全智慧守护

在蜿蜒的河道之上&#xff0c;水流的脉搏始终与人类文明的兴衰紧密相连。从农田灌溉的水量调配到城市防洪的精准预警&#xff0c;从生态保护的水质溯源到水资源管理的决策&#xff0c;河道流量监测如同大地的 “血管检测”&#xff0c;是守护水安全的第一道防线。传统监测手段在…

CSS3 基础(边框效果)

一、边框效果 属性功能示例值说明border-radius创建圆角border-radius: 20px;设置元素的圆角半径&#xff0c;支持像素&#xff08;px&#xff09;或百分比&#xff08;%&#xff09;。值为 50% 时可变为圆形。box-shadow添加阴影box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.5)…

零基础小白如何上岸数模国奖

零基础小白如何上岸数模国奖 我自己本人第一次参加数模国赛顺利上岸国奖&#xff0c;当然那段经历也是比较痛苦了&#xff0c;差不多也是从当年四月开始接触数学建模&#xff0c;第一次参加妈妈杯成绩并不理想&#xff0c;后面不断参加数模比赛进行模拟&#xff0c;最后顺利上岸…

SQL学习-常用函数

常见SQL函数使用 &#xff08;注意&#xff1a;不同的数据库类型使用的语法不同&#xff09; 以下是MySQL和PostgreSQL在实现替换、抽取、拼接、分列四个常见字符串操作功能时的核心区别总结&#xff0c;按功能分类对比&#xff1a; 1. 替换&#xff08;Replace&#xff09; …