Попробуйте тело страницы отображать через флекс и установить высоту в 100% от экрана. А блоку с контентом (допустим тег main) установить заполнение всего пространства пумтого с помощью Flex-flow, что-то типа такого:
body {
display: flex;
min-height: 100vh;
flex-direction: column;
}
main {
flex: 1 0 auto;
}