En realidad, la respuesta aceptada por @User solo funcionará si la ventana es alta y el contenido es corto. Pero si el contenido es alto y la ventana es corta, colocará la información de derechos de autor sobre el contenido de la página, y luego se desplazará hacia abajo para ver el contenido y le dejará un aviso de derechos de autor flotante. Eso hace que esta solución sea inútil para la mayoría de las páginas (como esta página, en realidad).
La forma más común de hacerlo es el enfoque de "pie de página adhesivo CSS" demostrado, o una variación ligeramente más delgada. Este enfoque funciona muy bien: SI tiene un pie de página de altura fija.
Si necesita un pie de página de altura variable que aparecerá en la parte inferior de la ventana si el contenido es demasiado corto, y en la parte inferior del contenido si la ventana es demasiado corta, ¿qué debe hacer?
Trague su orgullo y use una mesa.
Por ejemplo:
* {
padding: 0;
margin: 0;
}
html, body {
height: 100%;
}
#container {
height: 100%;
border-collapse: collapse;
}
<!DOCTYPE html>
<html>
<body>
<table id="container">
<tr>
<td valign="top">
<div id="main">Lorem ipsum, etc.</div>
</td>
</tr>
<tr>
<td valign="bottom">
<div id="footer">Copyright some evil company...</div>
</td>
</tr>
</table>
</body>
</html>
Pruébalo. Esto funcionará para cualquier tamaño de ventana, para cualquier cantidad de contenido, para pie de página de cualquier tamaño, en cada navegador ... incluso IE6.
Si te da miedo pensar en usar una tabla para el diseño, tómate un segundo para preguntarte por qué. Se suponía que CSS facilitaría nuestras vidas, y en general lo ha hecho, pero el hecho es que, incluso después de todos estos años, sigue siendo un desastre roto y contraintuitivo. No puede resolver todos los problemas. Esta incompleto.
Las tablas no son geniales, pero al menos por ahora, a veces son la mejor manera de resolver un problema de diseño.