Вполне типичная задача: сделать подвал всегда внизу. Независимо от того, есть ли содержимое на странице или нет. Как ни странно, для такой типичной задачи существует очень много решений, большинство из которых далеко не идеальны.
Ниже приведён вариант, замечательно работающий во всех браузерах:
<div id="main-page">
...
</div>
<div id="footer">
...
</div>
* { margin: 0; padding: 0;}
html{ height: 100%; }
body{ position: relative; height: auto !important; height: 100%; min-height: 100%; }
#footer{ position: absolute; left: 0; bottom: 15px; width: 100%; }
#main-page{ padding-bottom: 4em; }
Исходное решение позаимствовано у Ростислава Чебыкина, где подробно расписано что и почему.
В моём решении поправлен глюк с IE, когда подвал уносится далеко вправо, ну и сделан небольшой отступ от нижнего края страницы.
Важное замечание