flex-grow и flex-shrink: футер внизу короткой страницы

Паттерн: body { display: flex; flex-direction: column; min-height: 100dvh } и main { flex-grow: 1 } — футер прижат к низу, когда контента мало.
flex-shrink: 0 на header/footer предотвращает сжатие шапки при overflow.
- [flex-grow — MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow) — Коэффициент роста.
- [flex-shrink — MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink) — Сжатие элементов.
- [Sticky footers — CSS-Tricks](https://css-tricks.com/couple-takes-on-sticky-footer/) — Паттерны footer.
---
## Grid
Аналог: grid-template-rows: auto 1fr auto на page wrapper.
