Cuando flote elementos, debe proporcionar el ancho de los elementos flotados. De lo contrario, puede encontrar comportamientos inesperados en diferentes navegadores.
Check this tutorial, hay buena información sobre flotación en css. [link was dead]
Básicamente, si proporciona un overflow:hidden;
al contenedor div y proporciona ancho a los elementos flotados, su problema será resuelto.
<div style="overflow: hidden;">
<div style="float:left; width: 300px;">Some text</div>
<div style="float:right; width: 300px;">Some text</div>
</div>
Del mismo modo, se puede añadir otro div donde quiera que desea normalizar el flujo ike esto:
<div>
<div style="float:left; width: 300px;">Some text</div>
<div style="float:right; width: 300px;">Some text</div>
<div style="clear:both;"></div>
<div>This div will be at the same place
as if the previous elements are not floated</div>
</div>
Tanto funcionará :)
EDITAR
Otro método que Uso con frecuencia en estos días es para flotar el primer elemento y establecer un margin-left
en el siguiente elemento. Por ejemplo:
<div>
<div style="float: left; width: 300px;">Some text</div>
<div style="margin-left: 300px;">Some text</div>
<div style="clear: both;"></div>
</div>
La ventaja de este método es que el elemento siguiente (el segundo div en este caso) no necesita un ancho fijo. Además, puede omitir el tercer div (clear: both;
). Es opcional Solo lo agrego en caso de que el div flotante sea más largo en altura que el segundo div, ya que si no lo agregas, el div principal siempre obtendrá la altura del segundo div.
¡Yuck! Intenta no usar el truco 'clear: both' cuando puedas. Casi siempre (¿siempre?) Hay una mejor solución. – PeeHaa
No estaba al tanto del truco 'overflow: hidden'. – Gareth
Parece que aprendió algo hoy :) Para completar mi comentario y educarlo aún más;) tenga cuidado al usar el desbordamiento 'overflow: hidden;' cuando quiera usar CSS3 (por ejemplo, sombras paralelas). Afortunadamente, también tenemos una solución para eso: http://fordinteractive.com/2009/12/goodbye-overflow-clearing-hack/ – PeeHaa