第 8 章 过渡与动画
覆盖弹性缓动、逐帧、闪烁、打字、平滑状态与环形路径动画;用渲染探针、值处理轨迹和渐进增强发布门完成独立复核。
学习目标
- 能说明“第 8 章 过渡与动画”如何覆盖弹性缓动、逐帧、闪烁、打字、平滑状态与环形路径动画,并明确2015原书技巧、现行规范事实与现代替代之间的时间边界
- 能先预测“怎样把离散或连续状态映射到时间函数,并在减少动态、暂停、反向和中断时保持可预测?”的计算值或绘制结果,再沿DOM、声明、层叠、计算、布局与绘制逐阶段核对
- 能注入“用无限闪烁和逐帧动画表达关键信息,却没有暂停控制或prefers-reduced-motion静态替代”,用“起止状态、插值类型、时长、缓动、迭代、填充、合成属性和reduced-motion替代均显式”决定接受、修正或拒绝样式发布
为什么从这个CSS问题开始
动画页把效果写成状态关于时间的函数;连续插值、离散步进和路径运动需要不同证据,不能只录一段顺利视频。 “第 8 章 过渡与动画”使用的贯穿任务是:制作状态徽章、逐帧图标、打字提示和环形运行指示,分别测试中断、反向、后台恢复与减少动态。 操作前先预测哪个声明、计算值、布局盒或绘制层会变化,渲染后再补理由不算预测。
本页围绕“怎样把离散或连续状态映射到时间函数,并在减少动态、暂停、反向和中断时保持可预测?”建立正常、反例与恢复路径。只有“第 8 章 过渡与动画”保持“起止状态、插值类型、时长、缓动、迭代、填充、合成属性和reduced-motion替代均显式”并交付关键帧、起止计算值、duration、delay、easing、steps、iteration、fill、合成属性、暂停中断和reduced-motion截图。,视觉效果才构成CSS证据。
原版47项技巧、57个目录坐标与现代边界
“第 8 章 过渡与动画”以O'Reilly官方目录核对Lea Verou著、2015年6月、388页、ISBN 9781449372736、八章和47个连续编号技巧;作者出版页确认《CSS Secrets》由O'Reilly于2015年出版,中文版书页核对《CSS揭秘》的中文出版信息。原版47项编号技巧分布在第2至第8章;若把八个章标题和第一章两个方法主题一起计算,公开目录共有57个坐标。
“第 8 章 过渡与动画”只依据官方目录限定范围,不逐段改写原文;解释、示例、交互、练习与答案均为独立教学重写。47是编号技巧分母,57是完整目录坐标分母,两者不能混称。
“第 8 章 过渡与动画”另以技术核对 1、技术核对 2、技术核对 3、技术核对 4核对现行技术事实。2015年的技巧保留为历史方案;现行CSS规范用于解释仍成立的层叠、背景、几何、排印、布局与动画机制,或标出现代原生替代。现行语法不能倒填为原书内容,草案特性也不能冒充跨浏览器基线。
公开目录坐标与CSS机制
第8章 过渡与动画
↡过渡与动画对应公开目录坐标“第8章 过渡与动画”,在“第 8 章 过渡与动画”中用于封闭本章问题类型、规范机制与回退证据,并受原书年份、DOM、层叠、布局、绘制与回退边界约束。公开坐标 1/7。 在“第 8 章 过渡与动画”的坐标1中,第8章 过渡与动画用于封闭本章问题类型、规范机制与回退证据;先固定DOM和浏览器基线,再用目录坐标、编号技巧、相邻章节和发布结论复核,出现跨章技巧脱离原始约束拼贴时不得提交。
42 缓动效果
↡缓动效果对应公开目录坐标“42 缓动效果”,在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,并受原书年份、DOM、层叠、布局、绘制与回退边界约束。公开坐标 2/7。 42 缓动效果进入“第 8 章 过渡与动画”后要回答第2张声明卡:它怎样把离散或连续状态映射到时间函数与运动路径、改变哪个计算值或绘制层、由哪些关键帧、计算值、duration、easing、steps、中断和减少动态证明,并如何排除无限动画无暂停或静态替代。
43 逐帧动画
↡逐帧动画对应公开目录坐标“43 逐帧动画”,在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,并受原书年份、DOM、层叠、布局、绘制与回退边界约束。公开坐标 3/7。 围绕“怎样把离散或连续状态映射到时间函数,并在减少动态、暂停、反向和中断时保持可预测?”,条目3把43 逐帧动画解释为把离散或连续状态映射到时间函数与运动路径;复核者先读取关键帧、计算值、duration、easing、steps、中断和减少动态再判断截图,不能接受无限动画无暂停或静态替代。
44 闪烁效果
↡闪烁效果对应公开目录坐标“44 闪烁效果”,在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,并受原书年份、DOM、层叠、布局、绘制与回退边界约束。公开坐标 4/7。 对“第 8 章 过渡与动画”而言,44 闪烁效果的最小合同是把离散或连续状态映射到时间函数与运动路径,第4次检查保存关键帧、计算值、duration、easing、steps、中断和减少动态;若产生无限动画无暂停或静态替代,就回到声明、层叠或布局上游。
45 打字动画
↡打字动画对应公开目录坐标“45 打字动画”,在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,并受原书年份、DOM、层叠、布局、绘制与回退边界约束。公开坐标 5/7。 第5个公开目录坐标45 打字动画服务于覆盖弹性缓动、逐帧、闪烁、打字、平滑状态与环形路径动画,需要以关键帧、计算值、duration、easing、steps、中断和减少动态呈现把离散或连续状态映射到时间函数与运动路径;无限动画无暂停或静态替代会破坏“起止状态、插值类型、时长、缓动、迭代、填充、合成属性和reduced-motion替代均显式”。
46 状态平滑的动画
↡状态平滑的动画对应公开目录坐标“46 状态平滑的动画”,在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,并受原书年份、DOM、层叠、布局、绘制与回退边界约束。公开坐标 6/7。 学习者在“第 8 章 过渡与动画”中讨论46 状态平滑的动画前预测把离散或连续状态映射到时间函数与运动路径会改变哪项值或像素状态,再读取关键帧、计算值、duration、easing、steps、中断和减少动态;观察到无限动画无暂停或静态替代时保留失败轨迹。
47 沿环形路径平移的动画
↡沿环形路径平移的动画对应公开目录坐标“47 沿环形路径平移的动画”,在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,并受原书年份、DOM、层叠、布局、绘制与回退边界约束。公开坐标 7/7。 制作状态徽章、逐帧图标、打字提示和环形运行指示,分别测试中断、反向、后台恢复与减少动态。 在条目7处理47 沿环形路径平移的动画时,要把把离散或连续状态映射到时间函数与运动路径写进样式合同,把关键帧、计算值、duration、easing、steps、中断和减少动态写进运行记录,并把无限动画无暂停或静态替代写进反例。
先预测,再操作三个CSS实验
1. 声明与渲染探针
切换“弹性缓动、逐帧动画、环形路径”并一次只调整一个控制量,核对声明、回退和实际绘制怎样连接“第 8 章 过渡与动画”。
声明与渲染探针
改一个量,观察真实绘制结果
怎样把离散或连续状态映射到时间函数,并在减少动态、暂停、反向和中断时保持可预测?
transition-timing-function: cubic-bezier(...)基线:linear或ease
曲线允许越界但端点仍固定
本页目录坐标:第8章 过渡与动画、42 缓动效果、43 逐帧动画、44 闪烁效果、45 打字动画、46 状态平滑的动画、47 沿环形路径平移的动画
第 8 章 过渡与动画的可重放CSS协议
| 阶段 | CSS动作 | 必留证据 | 拒绝条件 |
|---|---|---|---|
| 声明关键状态和时间函数 | 在“第 8 章 过渡与动画”执行声明关键状态和时间函数,一次只改变一个声明或环境条件 | DOM、浏览器基线、视口、字体与初始样式 | 语义或依赖不可追溯 |
| 选择连续插值或离散步进 | 在“第 8 章 过渡与动画”执行选择连续插值或离散步进,一次只改变一个声明或环境条件 | 层叠来源、computed style、布局盒与绘制截图 | 用无限闪烁和逐帧动画表达关键信息,却没有暂停控制或prefers-reduced-motion静态替代 |
| 验证中断暂停与减少动态 | 在“第 8 章 过渡与动画”执行验证中断暂停与减少动态,一次只改变一个声明或环境条件 | 回退、输入、偏好、性能与现代边界记录 | 无法重放或恢复基础样式 |
unit: "csec-unit-08"
question: "怎样把离散或连续状态映射到时间函数,并在减少动态、暂停、反向和中断时保持可预测?"
scenario: "制作状态徽章、逐帧图标、打字提示和环形运行指示,分别测试中断、反向、后台恢复与减少动态。"
recipes: ["弹性缓动", "逐帧动画", "环形路径"]
stages:
["声明关键状态和时间函数", "选择连续插值或离散步进", "验证中断暂停与减少动态"]
invariant: "起止状态、插值类型、时长、缓动、迭代、填充、合成属性和reduced-motion替代均显式"
fault: "用无限闪烁和逐帧动画表达关键信息,却没有暂停控制或prefers-reduced-motion静态替代"
evidence: "关键帧、起止计算值、duration、delay、easing、steps、iteration、fill、合成属性、暂停中断和reduced-motion截图。"
reset: restore_recipe_value_trace_step_gates_and_artifact该协议要求“第 8 章 过渡与动画”在相同DOM、浏览器、视口、字体、输入和用户偏好下重放。重置后若技巧、控制量、轨迹模式、步骤、发布门或证据显示没有回到基线,交互状态已经污染比较,不能作为CSS证据。
本页回顾
掌握“第 8 章 过渡与动画”不是背诵代码片段,而是能围绕“怎样把离散或连续状态映射到时间函数,并在减少动态、暂停、反向和中断时保持可预测?”重建值处理与绘制路径,并用“起止状态、插值类型、时长、缓动、迭代、填充、合成属性和reduced-motion替代均显式”拒绝“用无限闪烁和逐帧动画表达关键信息,却没有暂停控制或prefers-reduced-motion静态替代”。最终交付为关键帧、起止计算值、duration、delay、easing、steps、iteration、fill、合成属性、暂停中断和reduced-motion截图。
练习与答案
练习
- 问题 1:CSS合同。 “第 8 章 过渡与动画”为什么必须先声明DOM、浏览器基线、视口、字体、输入与用户偏好?
- 问题 2:目录逐项覆盖。 怎样证明本页公开目录坐标已经进入机制、交互和练习?
- 问题 3:反例恢复。 怎样证明“用无限闪烁和逐帧动画表达关键信息,却没有暂停控制或prefers-reduced-motion静态替代”已经被修正?
名词解释
名词解释
本章出现的专业名词,用大白话再讲一遍。
- 过渡与动画
对应“第8章 过渡与动画”;在“第 8 章 过渡与动画”中用于封闭本章问题类型、规范机制与回退证据,需要连接原书年份、DOM、声明、计算、布局、绘制与回退。
- 缓动效果
对应“42 缓动效果”;在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,需要连接原书年份、DOM、声明、计算、布局、绘制与回退。
- 逐帧动画
对应“43 逐帧动画”;在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,需要连接原书年份、DOM、声明、计算、布局、绘制与回退。
- 闪烁效果
对应“44 闪烁效果”;在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,需要连接原书年份、DOM、声明、计算、布局、绘制与回退。
- 打字动画
对应“45 打字动画”;在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,需要连接原书年份、DOM、声明、计算、布局、绘制与回退。
- 状态平滑的动画
对应“46 状态平滑的动画”;在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,需要连接原书年份、DOM、声明、计算、布局、绘制与回退。
- 沿环形路径平移的动画
对应“47 沿环形路径平移的动画”;在“第 8 章 过渡与动画”中用于把离散或连续状态映射到时间函数与运动路径,需要连接原书年份、DOM、声明、计算、布局、绘制与回退。