Javascript d3.Firefox中的鼠标像素偏移

Javascript d3.Firefox中的鼠标像素偏移,javascript,d3.js,Javascript,D3.js,我将一些数据可视化到时间轴上。在mousemove上,我想显示一行和当前悬停时间。它在Chrome和Safari中的工作原理与预期一样,但在Firefox(在44和45中测试)中存在一个偏移:返回的像素值总是缺少整个SVG宽度的一半 例如,在可视化左侧悬停时,我希望d3.mouse的值等于0,但它是-300 请参阅Codepen上的这个测试用例:所讨论的函数位于底部 你知道它有什么问题吗?这是因为transform:translate()CSS函数,如果你禁用它,它会工作得很好。可能还有另一个C

我将一些数据可视化到时间轴上。在mousemove上,我想显示一行和当前悬停时间。它在Chrome和Safari中的工作原理与预期一样,但在Firefox(在44和45中测试)中存在一个偏移:返回的像素值总是缺少整个SVG宽度的一半

例如,在可视化左侧悬停时,我希望
d3.mouse
的值等于
0
,但它是
-300

请参阅Codepen上的这个测试用例:所讨论的函数位于底部


你知道它有什么问题吗?

这是因为transform:translate()CSS函数,如果你禁用它,它会工作得很好。可能还有另一个CSS属性来解决这个2D变换

想法:

  • 您可以将
    元素包装到包含这些完美中心样式的DIV中,并将其从svg对象中删除
  • 使用固定测量值居中,无需平移

  • 祝你好运

    这是因为
    transform:translate()
    CSS函数,如果禁用此功能,它将非常有效。也许还有另一个CSS属性可以解决这个问题,很好!就这样!你能把它作为答案贴出来让我接受吗?是的,给你:)