position - CSS | MDN

Le positionnement « sticky » permet un effet sympa. C’est l’effet appliqué sur le sommaire, à droite sur cette page du MDN.

Ce mode donne un positionnement "relative" en temps normal et "fixed" dans certaines conditions, ces dernières étant définies avec les propriétés "top", "bottom", etc.

Si le défilement de la page force l’élément à sortir de la vue de la page (ou de la zone délimitée entre les "top", "bottom", etc.), alors le positionnement passe en "fixed" et le bloc reste visible.

Ça évite d’avoir à utiliser du JS.

À ce jour, seul Firefox le supporte.
Safari le prend si on met Webkit.
Chrome le prend en compte à partir de la version 56.
Edge, IE et Opera ne le prennent pas encore en compte.

On peut donc l’utiliser si l’effet recherché n’est pas bloquant.
Dans ce cas il suffit d’utiliser un fallback :

position: relative;
position: sticky;
top: 0;