Le problème c'est que lorsque tu mets un élément en float, le navigateur ne sait pas vraiment ou il se positionne et dès lors il ne compte pas sa taille dans l'élément parent
Pour se faire, il faut utiliser un clearfix
Je t'invite à te renseigner ici : http://fr.learnlayout.com/clearfix.html
Ainsi que le lien qu'ils fournissent sur le monde du clearfix
En tous les cas, je pense que ceci devrait règler ton bug :
.clearfix::before, .clearfix::after {
content:"";
display:table;
}
.clearfix::after {
clear:both;
}
.clearfix {
zoom:1; /* For IE 6/7 (trigger hasLayout) */
}
Et ensuite :
<div class="row clearfix">
Note: tu peux mettre le clearfix directement sur la class row, mais personnellement je préfère le faire ainsi, au cas ou tu en aurais besoin autre part