与文档相关的SVG元素的顶部位置

时间:2015-06-11 19:42:28

标签: javascript jquery css svg

我正在尝试获取与网页相关的SVG元素的正确顶部位置。

如果我尝试将元素的顶部与页面顶部对齐,将其设置为0,则元素几乎完全隐藏在页面的上边缘后面。

在一个示例中,元素的高度为45px,但要将其顶部与页面顶部对齐,我必须将其设置为36px。另一个元素的高度为22px,为了将其与顶部对齐,我必须将其设置为18px。

特别是在我的情况下,当页面加载时,我得到与页面相关的元素的顶部和左侧位置(jquery中的offset().top/left)并在其上放置另一个元素。当用户拖放这个新元素时,我将SVG元素的位置更新为新元素的新位置。问题是SVG元素的新位置与其他元素永远不会完全相同,并且随着SVG元素的增大,差异会变大。

是否有可能获得这些元素的确切位置以确保我的元素正确对齐?

When I set the top to 0, the element disappers, but if I set top to 0 + height - (an arbitrary difference related to its height), it works

1 个答案:

答案 0 :(得分:0)

y元素中的<text>位置是指基线。如果您的文本位于图像中的y=0,则文本的基线位于SVG的最顶部,大部分文本将位于SVG的顶部,因此不可见。