Google Chrome 中鼠标事件 clientY 和 getBoundingClientRect

问题描述

https://codesandbox.io/s/serene-voice-7cbco?file=/src/index.js

如果我在 Chrome 中打开这个 CodesandBox 并尝试触摸来自顶部的按钮的顶部,在控制台中,我可以看到 clientY 和边界矩形的顶部总是相差 1px,例如,在这种情况下、7px 和 8px,而在 Safari 中则不同,Safari 报告两者均为 10px。在 Firefox 上,它显示 10px 和 9.6px,出于计算目的,可以将它们四舍五入,因此也可以。

总而言之,

Chrome: 7px and 9px
Firefox: 9.6px and 10px
Safari: 10px and 10px

因此,Chrome 似乎将边界矩形的顶部四舍五入,而 Safari 则将其四舍五入(这似​​乎是最合理的输出)。

是否有一些规范存在而这里的某些浏览器没有遵循它们?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)