SVG 中的圆形在 IE 和 Edge 上旋转

Circle in SVG rotated on IE and Edge

这让我抓狂,我不明白为什么一个简单的 <circle/> 在 IE 和 Edge 上旋转了 180 度。

这看起来像是浏览器的一个错误,但我不能让它那样。

也许您知道可以解决此问题的 CSS 技巧,因为这只是视口中 CSS 更新的问题。

证明:当你点击圆圈时 - 在 IE 中,而不是 Edge - 它 returns 回到正常旋转(但 js 根本不影响圆圈的旋转...... )

这是演示(在底部):http://charraire.dev.adelios.fr/notre-organisation/

与 Chrome / Firefox 和 IE / Edge 比较,你会发现很大的不同。

如果有人能帮助我,他就是我的救星!

呵呵...其实我是通过尝试做一个jsFiddle解决的。

事实是,如果 IE 和 Edge 尚未声明(在 DOM 或 CSS 中),则无法使用 javascript 更新 SVG 属性。

我自己解释一下:

  • 我的 DOM 中有几个 <circle/> 元素,它们都有 rcxcy 属性。
  • 我直接在我的CSS里给他们strokestroke-width
  • 然后,使用 javascript,我更新了他们的 stroke-dasharraystroke-dashoffset

但是 IE 和 Edge 不喜欢当您使用 javascript 更新这些属性时如果您没有在第一个地方指定它们(天知道为什么)。

所以我的解决方案只是在 <circle/> 元素中添加 stroke-dasharray="0"stroke-dashoffset="0"。还有魔法!有效!

或者,更简单,我只是在 CSS 中添加了 stroke-dasharray: 0;stroke-dashoffset: 0;,它也有效。

希望对其他人有所帮助。