getBoundingClientRect给出不正确的值

时间:2018-08-14 09:18:19

标签: javascript html css tooltip chart.js

我正在为ChartJS使用自定义工具提示,并放置工具提示,我需要使用getBoundingClientRect来获取图表的位置,然后相对于该位置移动工具提示。但是,从getBoundingClientRect返回的位置不代表实际的div。没有填充,没有边距,等等。This red box indicates the actual div border and the green is the box returned from getBoundingRect

有人知道这是为什么以及如何解决?我的页面在调整大小时有些变化,所以我不能只硬编码-150px或其他任何内容。

1 个答案:

答案 0 :(得分:0)

问题在于getBoundingClientRect考虑了我整体内容包装器的边距。当调整页面大小以更好地适合内容时,此包装器的页边距将更改,因此getBoundingClientRect也将更改其输出。我不确定为什么只考虑该一格的边距,但是我只是从顶部和左侧的值中减去了边距来解决问题。