Проверьте этот сайт . У него хороший учебник о том, как это сделать с помощью css.
Я скопировал его css на всякий случай, когда сайт Мэтью снят.
html,
body {
margin:0;
padding:0;
height:100%;
}
#container {
min-height:100%;
position:relative;
}
#header {
background:#ff0;
padding:10px;
}
#body {
padding:10px;
padding-bottom:60px; /* Height of the footer */
}
#footer {
position:absolute;
bottom:0;
width:100%;
height:60px; /* Height of the footer */
background:#6cf;
}
EDIT
Поскольку высота нижнего колонтитула отличается от страницы к странице, вы можете получить высоту нижнего колонтитула, а затем отрегулировать нижнюю часть #body с помощью javascript , Вот пример использования jquery.
$(function(){
$('#body').css('padding-bottom', $('#footer').height()+'px');
});