【发布时间】:2017-03-14 19:39:39
【问题描述】:
我想通过设置stroke-dasharray 和改变stroke-dashoffset 来使用SVG 圆形元素创建一个圆环图。 SVG 元素需要旋转 270(或 -90)度,以便图表“条形图”从顶部开始。代码如下:
使用transform="rotate(270, 80, 80)"中的第一个数字指定旋转角度。
问题是:在 iOS 10 上的 Safari 中查看时,未应用此旋转。实际上,设置 90、180 或 270 度旋转都没有效果。也不会应用相同的角度但为负(例如 -90)。
这是 iOS 10.0.1 上 Safari 中上述小提琴的截图:
在 iOS 9.3.5 上的 Safari 中也是如此:
作为一种解决方法,我发现使用类似 270.1 度的值可以解决问题,但是我想知道为什么 270 不工作以及是否有更好的处理方法。
【问题讨论】:
-
无法重现此问题,但我怀疑它正在发生,因为圆圈没有特定的起点或终点。您可以通过将
transform属性移动到封闭的<g>元素来修复它。或者,如果这不起作用,请使用 elliptical arc path segments 创建一个圆形路径。 -
谢谢 - 我已经尝试在封闭的
元素上设置相同的转换,不幸的是这没有帮助。我没有尝试使用 ,因为我想继续使用 以及它的 stroke-dasharray 和 stroke-dashoffset 属性。当您说您无法重现该问题时 - 您的意思是您在 iOS 10 设备上打开了小提琴并且正确应用了转换? -
@squeamishossifrage 一个圆圈在 SVG 中确实有一个特定的起点/终点。它位于3 o'clock。
-
@RobertLongson 谢谢,我不知道。 ilokhov:我只是没有相同的环境,仅此而已。
-
我的圆圈从底部拉入,因此需要旋转 90 度。因为我用一个比我现在使用 91deg 的圆的宽度大得多的节点(点)覆盖起点......但这让我不开心。我需要在ios9.3上尝试。这可能只是一个 Safari ios 10 错误。目前还不确定。
标签: ios svg mobile-safari ios10