Q: In which column is a given element?

Here is some content that has been columnised and translated 600px (or two "pages"). Via various methods, on what pages are the three "beacon" elements?

The expected results are 1, 2 and 5.

GBCR: GetBoundingClientRect — A pretty efficient calculation based on block dimensions and offsets. Not supported in older browsers.

SIV: ScrollIntoView — A slower and less accurate calculation that works by natively "scrolling the element into view", checking the scroll offset, then scrolling back to the previous offset. Browsers sometimes calculate "in view" differently, leading to infrequent off-by-one errors. Also, it has to remove transforms before calculating scroll offset, and replace them afterward.