【发布时间】:2015-12-31 15:03:16
【问题描述】:
我在 plunker 中摆弄 D3.js。 它主要做我想要的,但我注意到一个小的不一致。
这个想法是第二个滑块旋转容器中的 SVG 元素。由于其中的元素实际上是text 元素,我想让它们显示未旋转,因此,我使用滑块的对称值对它们应用了transform: rotate。
虽然,我注意到通过这样做,text 元素不会围绕它们的中心旋转,而是围绕它们的 左上角 角(我认为)。当您观察边缘附近的一个点并查看如何在旋转时转置边缘时,这主要是可见的。
我已经尝试在这些元素上将text-anchor 和alignment-baseline 设置为middle,希望它会抵消text 路径,但显然它不会改变旋转时它们围绕的点。
此外,如果我尝试使用枢轴点坐标设置rotate,它会通过将一些translate 应用到我无法弄清楚的元素来完全混淆效果。
不确定getBBox() 是否可以帮助我解决这个问题,但我考虑过可能将这些点偏移其宽度/高度的一半。不过,这似乎有点令人费解,我希望有一个更简单/更优雅/更干净的修复。
有什么想法吗?
【问题讨论】:
标签: javascript d3.js svg