Trate de añadir un poco más claro:
<div id="main">
<div id="left"></div>
<div id="right"></div>
<div style="clear:both"></div>
<div id="footer"></div>
</div>
Cuando de un elemento css clear
conjunto de both
, no va a dejar que ningún elemento flotante a superponerse en su zona fronteriza y el texto, es decir, el margen puede ser solapado por flotación elementos. Es por eso que no puede ver el margen de su pie de página. Entonces, básicamente, necesitamos un div adicional, que no está flotante, por lo que el margen de su pie de página tiene algo que presionar. Prueba mis códigos a continuación (con BG y Borders), verás lo que estoy diciendo.
Sin div extra:
<div id="main">
<div id="left" style="background:#FF000;border:solid 1px #000000;float:left">LEFT</div>
<div id="right" style="background:#00FF00;border:solid 1px #000000;float:right">RIGHT</div>
<div id="footer" style="clear:both;margin-top:10px;background:#00FFFF;border:solid 1px #000000;">FOOTER</div>
</div>
Con div extra:
<div id="main">
<div id="left" style="background:#FF000;border:solid 1px #000000;float:left">LEFT</div>
<div id="right" style="background:#00FF00;border:solid 1px #000000;float:right">RIGHT</div>
<div style="background:#0000FF;border:solid 1px #000000;clear:both">CLEARER</div>
<div id="footer" style="margin-top:10px;background:#00FFFF;border:solid 1px #000000;">FOOTER</div>
</div>
de recursos:
http://www.w3.org/TR/CSS2/visuren.html#flow-control
posible duplicado de [En css margin-top no funciona con clear: both] (http://stackoverflow.com/questions/4198269/in-css-margin-top-is-not-working-with-clear-both) – Nicole
también un duplicado de [margin-top debajo de un div css flotante] (http://stackoverflow.com/questions/3236060/margin-top-under-a-floated-div-css) – Nicole