【发布时间】:2015-08-12 22:45:35
【问题描述】:
我正在尝试输出真实尺寸的 SVG,所以我使用 cm 作为单位
旋转变换适用于像素,但是当我切换到 cm 时,它不会按预期旋转元素
<image preserveAspectRatio="none" x="1cm" y="1cm" width="3cm" height="3cm"
xlink:href="http://api.prestalife.net/media/superman.png"
transform="rotate(45, 2.5, 2.5)"
/>
jsFiddle:代码中包含px和cm的比较
【问题讨论】:
-
目前任何类型的单位在变换属性中都是无效的。有计划在 SVG 2 中对此进行更改,但新规范仍在编写中。
-
谢谢,我会尝试将中心点转换为像素单位
-
SVG 容器内的元素不会被解释为 cm。这与他们自己的规则相矛盾,可以阅读here。 -- 顺便说一句,问题很好。
-
@ShellFish 好吧,元素本身很好,只是旋转变换的 (x, y) 参数被解释为像素值而不是 cm。我通过将 cm 转换为 px 更正了这个问题,我将发布编辑/答案
-
他不应该在 svg 容器中写入单位,根据他们自己的文献,指定他想使用 cm 来调整它们的大小是多余的(参见前面的链接)。然而,当省略单位时,该单位不被视为父级的 svg 单位,它应该这样做。