position: sticky — это гибридное решение: элемент ведёт себя как relative (остаётся в обычном потоке) пока он не прокрутится до указанного вами порога, а затем ведёт себя как fixed (прилипает на месте) — но только пока его содержащий блок всё ещё видим на экране.
{
: sticky;
: ;
}
