0Pricing
CSS Academy · 课时

串联与编排动画

通过错开的延迟串联多个动画,创建复杂的动画序列。

串联与编排动画 是 CoddyKit 上的免费 CSS Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 CSS Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 CSS Academy 课程共包含 4 节课。

为什么要编排动画

复杂的用户界面效果通常需要按顺序执行多个动画:元素滑入、暂停,然后淡出。CSS 提供了多种工具,可以在不使用 JavaScript 的情况下串联动画。

使用动画延迟进行编排

最简单的编排方式是:根据前一个动画的时长,计算下一个动画应开始的时间:

<div class="element">Slides in, then fades out</div>

多步骤关键帧

对于单个元素,最简洁的方法是:在一个 @keyframes 规则中使用百分比节点编码完整序列:

<div class="toast">Notification toast</div>

使用 CSS 自定义属性设置时长

将时长存储在 CSS 变量中,便于协调串联动画:

<div class="box">Custom-property-driven timing</div>

动画时间线(现代)

Web 动画 API 和滚动关联动画(ScrollTimeline)支持无需计算延迟时间的高级动画编排。这是复杂 CSS 动画编排的未来方向。

使用 CSS 自定义属性实现错峰

通过以内联方式或使用 JavaScript 设置的 CSS 自定义属性来驱动错峰延迟:

<div class="item" style="--delay:0ms">Item 1</div>
<div class="item" style="--delay:120ms">Item 2</div>
<div class="item" style="--delay:240ms">Item 3</div>

JavaScript 驱动的动画编排

对于需要精确控制的多元素序列,请使用 Web 动画 API 或 GSAP 等库。仅使用 CSS 时,在协调具有复杂相互依赖关系的独立元素方面能力有限。

注意力动画

一种先脉冲再稳定的注意力动画序列:

<div class="notification">New message!</div>

AnimationEnd 事件

请在 JavaScript 中监听 animationend,以便通过程序触发下一步:

<div class="box" id="ae-box">Watch me</div>
<script>
  const el = document.getElementById('ae-box');
  el.addEventListener('animationend', (e) => {
    if (e.animationName === 'slideIn') {
      el.classList.add('phase-2');
      el.textContent = 'animationend fired!';
    }
  });
</script>

页面过渡模式

使用切换类实现 CSS 页面过渡序列:

<div class="page-leaving">Leaving page</div>
<div class="page-entering">Entering page</div>

加载状态骨架

使用偏移量实现多步骤骨架加载动画:

<div class="skeleton-text"></div>
<div class="skeleton-text"></div>
<div class="skeleton-text"></div>

快速检查

在 CSS 中为单个元素编码完整的多步骤动画序列,最佳方式是什么?

回顾

CSS 动画编排可以使用根据前一动画时长设置的延迟、带百分比节点的多步骤 @keyframes,或用于存储时长的自定义属性变量。animationend 事件支持由 JavaScript 触发连续阶段。对于复杂的多元素编排,请考虑使用 Web 动画 API。

常见问题解答

「串联与编排动画」课时是免费的吗?

是的 — 「串联与编排动画」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 CSS Academy 课程的其余内容,请升级到 CoddyKit PRO。 CSS Academy 课程共包含 4 节课。

「串联与编排动画」这节课中我会学到什么?

通过错开的延迟串联多个动画,创建复杂的动画序列。 你通过在浏览器中直接运行的动手代码来练习 CSS Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 CSS Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 CSS Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「串联与编排动画」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 CSS Academy 课中编写并运行代码吗?

能。每节 CSS Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. @keyframes 语法与动画属性
  2. 动画方向、填充模式与迭代
  3. 串联与编排动画
  4. 使用 prefers-reduced-motion 创建无障碍动画
← 返回 CSS Academy