Concordo com a Levik, pois o contêiner pai é definido como 100% se você tiver barras laterais e desejar que eles preencham o espaço para se encontrar com o rodapé. Você não pode defini-los como 100%, pois eles também serão 100% da altura dos pais. significa que o rodapé acaba sendo pressionado ao usar a função clear.
Pense dessa maneira, se o cabeçalho tiver 50px de altura e o rodapé tiver 50px de altura e o conteúdo for ajustado automaticamente ao espaço restante, por exemplo, 100px, por exemplo, e o contêiner de página for 100% desse valor, sua altura será de 200px. Então, quando você define a altura da barra lateral como 100%, são 200 pixels, mesmo que deva caber confortavelmente entre o cabeçalho e o rodapé. Em vez disso, acaba sendo 50px + 200px + 50px, portanto a página agora tem 300px porque as barras laterais estão definidas na mesma altura que o contêiner da página. Haverá um grande espaço em branco no conteúdo da página.
Estou usando o Internet Explorer 9 e é isso que estou obtendo como efeito ao usar esse método 100%. Não tentei em outros navegadores e presumo que ele possa funcionar em algumas das outras opções. mas não será universal.
min-height: 100vh;
. Isso define a altura igual ou superior ao tamanho da telavh: vertical height
,. Para mais: w3schools.com/cssref/css_units.asp .