I recently built a screen with a very high and wide table in the center. This posed some challenges:
What I ended up doing is reusing the horizontal page scrollbar (which is naturally fixed at the bottom of the viewport) to only scroll the central table:
This works by
position: sticky; left: 0
transform: translateX
on the table itself.Note that the table header is sticky as well, and will not leave the viewport.
You can check out the implementation here Show archive.org snapshot .
Note
This does not work well on touch devices. A complete solution needs to feature-detect touch devices, and then degrade to a different solution.