Я для этого использую такой метод: В основе вёрстки два блока:
HTML
<body>
<div id="Wrapper">
Тут остальной сайт
<div>
<footer>
Тут футер
</footer>
</body>
CSS
#Wrapper {
display:inline-block;
width: 100%;
height: 100%;
min-height: calc(100vh - 100px);
}
footer {
height: 100px;
}