附录 D:动画 SVG 文档
SVG 支持随时间改变矢量图形的能力,以创建动画效果。
SVG 内容可以通过以下方式进行动画处理:
- 使用 SVG 的 动画元素
[svg-animation]。
SVG 文档片段可以描述对文档元素的基于时间的修改。
通过各种动画元素,作者可以定义运动路径,或插值元素的属性和样式属性。
这些效果可以链接在一起,或响应文档中的其他事件触发。
- 使用 CSS 动画
[css-animations-1]。
此 CSS 模块定义了一种让作者可以随时间动画化 CSS 属性值的方法,使用关键帧。
这些关键帧动画的行为可以通过指定其持续时间、重复次数和重复行为进行控制。
- 使用 CSS 过渡
[css-transitions-1]。
此 CSS 模块定义了属性,以指定 CSS 属性值的变化逐渐发生在指定的持续时间内。
- 使用 SVG DOM。
SVG DOM 被定义为 DOM4 规范的扩展
[dom]。
每个属性和样式表设置都可以通过脚本访问,SVG 提供了一组额外的
DOM 接口,以支持通过脚本进行高效动画。
理想情况下,支持脚本的用户代理也应实现
动画帧 APIs
在 HTML 中定义 [HTML]。
- 使用 Web 动画 API
[web-animations-1]。
此 DOM API 提供了一个脚本化接口,以触发用户代理优化的样式属性和属性动画,
无需作者计算单个帧的值。
SVG 不强制支持任何这些动画方法。
然而,支持它们的用户代理预计应支持 SVG 文档
和其他文档中的 SVG 片段。
支持声明式或脚本动画的用户代理必须遵循
基于 处理模式 的限制,
如 符合性 章节所定义,
并满足 在使用元素的阴影树中的动画 的特殊要求。