我需要在文本选择的中心对齐工具提示。这是我到目前为止获得正确位置的代码:
const getTooltipPosition = () => {
const selection = window.getSelection();
const oRange = selection.getRangeAt(0);
const oRect = oRange.getBoundingClientRect();
return {
top: oRect.top - 20, // line height.
left: oRect.left + oRect.width * 0.5,
};
如果我选择一行或一个单词,这很有效:
问题是当我选择了多行时:
您可以看到工具提示与主文本容器的中心对齐,而不是与第一行中文本选择的中心对齐。
这是预期的输出:
如何更改这段代码才能达到这个结果?如果有任何其他方法不涉及我的初始解决方案,那不是问题。