SVG transform =“rotate(x,x,x)”无法在iOS

时间:2016-10-12 16:11:14

标签: ios svg rotation css-transforms greensock

我创建了一个Greensock动画,其中一个圆圈绘制了90%并旋转,以便文本可以放在圆圈的间隙中。它适用于所有设备,但在iOS设备上。 (见下面的codepen)

http://codepen.io/sumnercreations/pen/KgRJzZ

我知道iOS仍然需要-webkit前缀,如此问题Transform not Working on IOS中所述,所以我在svg代码中添加了它,但它仍然不起作用。

CSS技巧说这应该适用于所有地方,但我无法让它为我工作。 https://css-tricks.com/transforms-on-svg-elements/

<!-- works everywhere -->
<rect x='65' y='65' width='150' height='80' transform='rotate(45)' />

如何在iOS设备上实现此目的?

2 个答案:

答案 0 :(得分:0)

Greensock回复了我的推文,并解释说iOS在相反的方向上绘制了圈子,因此一种解决方案是使用<path>而不是<circle>。 (他们还提到MorphSVGPlugin.convertToPath() http://greensock.com/morphSVG`)也可以这样做。

他们包括一个完美运作的codepen。 http://codepen.io/sumnercreations/pen/EgRovE

答案 1 :(得分:0)

一个可能的问题是iOS中的一个错误似乎忽略了90度的倍数旋转。我发现只需使用一个稍微偏离的值(例如89.9度)即可修复。

这对你来说可能不是问题,但我认为这值得在这里发布,因为这是轮换无法在iOS中运行的一个可能原因。