flex-grow и flex-shrink: футер внизу короткой страницы
Sticky footer на flex без min-height: 100vh хаков.
Паттерн: `body { display: flex; flex-direction: column; min-height: 100dvh }` и `main { flex-grow: 1 }` — футер прижат к низу, когда контента мало.
`flex-shrink: 0` на header/footer предотвращает сжатие шапки при overflow.
- flex-grow — MDN — Коэффициент роста.
- flex-shrink — MDN — Сжатие элементов.
- Sticky footers — CSS-Tricks — Паттерны footer.
Grid
Аналог: `grid-template-rows: auto 1fr auto` на page wrapper.