原生组件案例 04:5 个 div 打造「音频波形动效」

先看效果:

🎧 深色背景下的霓虹音频柱

✨ 高度 + 颜色 + 位置同时变化的节奏感动画

🎵 5 根柱子错峰跳动,像真实均衡器

⚡ 纯 HTML + CSS,无一行 JS

🧠 技术亮点

这次依旧坚持"用最少的代码实现最顺滑的交互":

  • 一个容器类名.sound-wave --- 控制布局

  • 一个关键帧动画audio-wave --- 控制弹跳 + 变色

  • 几个延迟nth-child --- 做错位节奏

全部结构只有这样:

go 复制代码
<div class="sound-wave">
  <div></div><div></div><div></div><div></div><div></div>
</div>

🧩 关键 CSS

1️⃣ 布局 + 子元素尺寸

go 复制代码
.sound-wave {
  display: flex; gap: .5rem;
}
.sound-wave div {
  width: .6rem; height: .4rem;
  border-radius: .5rem;
  animation: audio-wave 2.2s infinite ease-in-out;
}

2️⃣ 动画:高度 + 位移 + 渐变色

go 复制代码
@keyframes audio-wave {
  0%,100% { height:6px; background:#ff8e3a; }
  25% { height:40px; transform:translateY(-5px); background:#ed509e; }
  50% { height:6px; background:#9c73f8; }
}

3️⃣ 错峰节奏(灵魂所在)

go 复制代码
.sound-wave div:nth-child(2){animation-delay:.2s}
.sound-wave div:nth-child(3){animation-delay:.4s}
.sound-wave div:nth-child(4){animation-delay:.6s}
.sound-wave div:nth-child(5){animation-delay:.8s}

📚 3 个核心知识点

  1. 一个关键帧控制多个视觉属性:高度、Y 位置、背景色

  2. 延迟错峰 :用 nth-child 做出"音频跳动"的节奏感

  3. 用最少结构实现可复用组件:5 根柱子即可形成连贯动效

🔗 完整代码(可直接复制)

👇 点击「原文链接」查看:

  • 完整 HTML / CSS(含深色主题)

  • 如何扩展成 ChatGPT 风格的「思考中动画」

  • 如何做成播放器 Loading / Buffering

  • 如何把颜色抽离成 CSS 变量,2 秒换主题

如果你正在做播放器、AI assistant、语音组件,这个「音频波形动效」直接就是开箱即用的小组件。

相关推荐
上海合宙LuatOS13 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Android系统攻城狮14 小时前
Android16进阶之音频播放定位MediaPlayer.seekTo调用流程与实战(二百二十七)
音视频·mediaplayer·android16·音频进阶·音频性能实战
晚霞的不甘15 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
听麟16 小时前
HarmonyOS 6.0+ 跨端智慧政务服务平台开发实战:多端协同办理与电子证照管理落地
笔记·华为·wpf·音视频·harmonyos·政务
晚霞的不甘16 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
零一iTEM17 小时前
MAX98357A_音频输出测试
单片机·嵌入式硬件·开源·音视频·硬件工程
Android系统攻城狮18 小时前
Android16进阶之获取播放位置MediaPlayer.getCurrentPosition调用流程与实战(二百二十八)
音视频·android16·音频进阶·音频性能实战
愚公搬代码20 小时前
【愚公系列】《AI短视频创作一本通》020-AI短视频创作实例精解(文旅宣传AI短视频实例精解)
人工智能·音视频
有位神秘人20 小时前
Android获取设备中本地音频
android·音视频
硫酸锌0120 小时前
使用ffmpeg合并文件夹内的所有*.mp4格式视频
ffmpeg·音视频