diff --git a/packages/react-native-web/src/exports/UIManager/index.js b/packages/react-native-web/src/exports/UIManager/index.js index 5264190c..842b963a 100644 --- a/packages/react-native-web/src/exports/UIManager/index.js +++ b/packages/react-native-web/src/exports/UIManager/index.js @@ -16,11 +16,13 @@ import setValueForStyles from '../../vendor/setValueForStyles'; const getRect = node => { const height = node.offsetHeight; const width = node.offsetWidth; - let left = 0; - let top = 0; + let left = node.offsetLeft; + let top = node.offsetTop; + node = node.offsetParent; + while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) { - left += node.offsetLeft; - top += node.offsetTop; + left += node.offsetLeft - node.scrollLeft; + top += node.offsetTop - node.scrollTop; node = node.offsetParent; } return { height, left, top, width };