Uma maneira muito boa de limpar elementos flutuantes, extraído de http://html5boilerplate.com/
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {
display: inline-block;
}
* html .clearfix {
height: 1%;
} /* Hides from IE-mac */
.clearfix {
display: block;
}