不是SVG标准元素,正确写法是(T大写),用于对transform属性做旋转、缩放等插值动画,需嵌套在图形元素内并指定type、from、to等属性。

SVG 中没有 标签
直接说结论: 不是 SVG 标准元素,浏览器不识别,写进去不会生效,控制台通常也不会报错,只是静默忽略。你查不到它的 MDN 文档,也不能在任何 SVG 1.1 或 SVG 2 规范里找到它。
正确实现旋转和缩放动画要用
注意拼写:是 (首字母大写 T),不是 。它是 SVG 原生动画元素,专用于对 transform 属性做插值动画。
- 必须嵌套在目标图形元素(如
、、)内部,或作为其兄弟节点配合targetElement(但更推荐嵌套) -
attributeName必须设为transform -
type取值为rotate、scale、translate或skewX/skewY,不能写成"rotation"或"scaleX" -
from和to的格式要匹配type:比如rotate用角度值(可带中心坐标),scale用单个数或两个数("2"或"2 0.5")
多个变换同时动画的坑:不能共用一个
SVG 动画不支持在一个 里混合 rotate 和 scale。浏览器只按 type 解析单一变换类型,强行写 from="0 70 70; 1" 会失败。
- 必须拆成多个
元素,都作用于transform - 用
additive="sum"确保它们叠加(否则后一个会覆盖前一个) - 注意坐标系:旋转/缩放的中心默认是元素左上角(
0 0),要加偏移就得显式写from="0 70 70"这样的三元组 - 如果目标是让元素绕自身中心旋转+缩放,先用
把原点移到中心,再动画,会更可控
现代项目建议优先用 CSS 动画替代
虽然是原生方案,但存在明显局限:
- 不支持 easing 函数(只有
linear、paced等极简选项) - 无法与 JS 交互控制(暂停/反转需用
beginElement()等冷门方法) - IE 以外的现代浏览器虽支持,但调试困难,动画状态不可见
- 缩放时若未设置
transform-origin,CSS 行为更直观
等效的 CSS 写法更灵活:
真正需要坚持用 的场景只剩:纯静态 SVG 文件(无外链 CSS/JS)、需离线运行、且必须零依赖。










