Вот простой html:
<div id="wrap">
<div id="main">
</div>
</div>
<div id="footer">
</div>
Вот css:
* {margin:0;padding:0;}
html, body {height: 100%;}
#wrap {min-height: 100%;}
#main {overflow:auto;
padding-bottom: 150px;}
#footer {position: relative;
margin-top: -150px;
height: 150px;
clear:both;}
Мой вопрос: не имеет ли смысла добавлять нижний отступ к #обернуть div, а не это #основной div?
Если вам интересно, это связано с тем, что нижний колонтитул всегда находится внизу и не перекрывает свое предыдущее содержимое при изменении размера страницы.