Вот
основа.
Пробую сделать так, чтобы страница крутилась не целиком, а каждый блок отдельно (меню слева и блок с постами должны иметь независимую прокрутку).
Подобное можно видеть на главной странице ютуба. Через devtools посмотрел как сделано, но из-за кучи служебных блоков может не понял их идею до конца, но мне показалось, что там просто грязные хаки: боковому меню и области со списком найденных видео поставлена явная высота, а хедер просто через z-index поверх них. К тому же не понятно тогда как они сделали зазор в блоках, чтобы сверху была пустота, поверх которой расположится хедер. Еще видел решение на stack'е, но там нет хедера и прокручиваемые блоки тоже растянуты на всю высоту, так что это другое.
Я понимаю, что для того, чтобы блок стал прокручиваемым по вертикали, он должен переполниться, а для этого ему надо поставить явную высоту. Мне удалось добиться нужного эффекта
вот так, задав main-блоку высоту как `calc(100vh - 75px)`. Однако решение мне не нравится тем, что приходится по сути хардкодить высоту main-блока. Если высота хедера изменится, работать не будет. Через js тем более не хотелось бы изворачиваться.
Есть ли какой-нибудь более аккуратный способ сделать такую прокрутку?