Respuestas:
overflow:auto;
en el div contenedor hace que todo dentro de él (incluso los elementos flotantes) sea visible y el div exterior los envuelve completamente. Vea este ejemplo:
.wrap {
padding: 1em;
overflow: auto;
background: silver;
}
.float {
float: left;
width: 40%;
background: white;
margin: 0 1%;
}
<div class="wrap">
<div class="float">Cras mattis iudicium purus sit amet fermentum. At nos hinc posthac, sitientis piros Afros. Qui ipsorum lingua Celtae, nostra Galli appellantur. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Ambitioni dedisse scripsisse iudicaretur.</div>
<div class="float">Mercedem aut nummos unde unde extricat, amaras. A communi observantia non est recedendum. Quisque ut dolor gravida, placerat libero vel, euismod. Paullum deliquit, ponderibus modulisque suis ratio utitur.</div>
</div>
overflow
se agregó). Se corrigió eliminando el overflow: auto;
de la clase, así como el height
selector
Hay más de una forma de limpiar los flotadores. Puede consultar algunos aquí:
http://work.arounds.org/issue/3/clearing-floats/
Por ejemplo, clear:both
podría funcionar para ti
#element:after {
content:"";
clear:both;
display:block;
}
#element { zoom:1; }
overflow: auto;
recortará el contenido (como las decoraciones de enfoque) que se desborden fuera del elemento, pero esto no lo hará.
En muchos casos, overflow: auto;
será suficiente, pero en aras de la finalización y la compatibilidad con varios navegadores, eche un vistazo a Clearfix, que hará el trabajo para todos los navegadores.
Consideremos el siguiente marcado.
<div class="clearfix">
<div class="content">Content 1</div>
<div class="content">Content 2</div>
</div>
Junto con los siguientes estilos ...
.content { float:left; }
.clearfix { ..from link.. }
Sin el clearfix, el padre div
no tendría una altura debido a sus hijos flotantes. El clearfix hará que el padre considere los hijos flotantes.
overflow: auto;