当前位置:  开发笔记 > 编程语言 > 正文

SVG圈中dasharray属性的奇怪行为

如何解决《SVG圈中dasharray属性的奇怪行为》经验,为你挑选了1个好方法。

我正在尝试创建一个SVG圈的无限动画循环.

我想创造12个相等的部分并将它分开一些空隙.

为了计算圆圈的价值我从下表中使用了k系数所以我做了0,25782*160(我的圆的直径)我得到了:41.2512(它应该是我的作品的值).

之后我通过该值创建了strokeDasharray prop:40 1.2512 我认为它应该是正确的值.

看起来是这样但是当我改变了strokedashOffset道具时,我在右侧看到了一些神器.我不知道为什么会发生这种情况以及如何解决它(以及我在哪里犯了错误)?

谢谢你的帮助.

在这里演示(只需将strokedashOffset更改为408值,您将看到该问题).

https://jsfiddle.net/q8enje9o/

这里是我的纯svg代码







表格k系数.n - 圆圈数

在此输入图像描述

以下是如何计算这些系数的公式.通过它自己

n - 件数

360 - 2*PI(整圈)

k - 我们的系数.我们想找到

在此输入图像描述

PS这是一个更新后问题的演示(Chrome最新版和Windows 10版) 在此输入图像描述



1> Robert Longs..:

如果你想要均匀间隔的线条,那么圆圈的圆周/笔划-dasharray值的总和必须是整数,而不是你的情况.

所以你可能想要一些像stroke-dasharray:40,1.8879; 哪个应该适用于任何stroke-dashoffset值.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有