indicar el alto, aunque funcione, esteticamente no creo que sea lo adecuado. la razon es simple, si el usuario agranda el tamaño de la fuente percibira que los elementos estan desubicados. otra forma posible es ubicando elemento dentro del elemento que contiene el fondo pero al final. es decir, que sea el ultimo hijo del elemento con fondo. a este elemento le aplicas clear:both para indicarle al navegador que alrededor de este elemento no deben flotar otros elementos. esto fuerza al elemento contenedor que el espacio sea visible. usando mas o menos el mismo ejemplo que mostre,
Código:
<div>
<ul><li>uno</li><li>dos</li><li>tres</li><li>cuatro</li></ul><br /></div>
<style>
div{
background:#c90;
}
li{
float:left;
}
br{
clear:both;
}
</style>
creo que hay otra forma puramente con css y sin necesidad de un elemento extra pero no soy capaz de pensar la solucion. si bien recuerdo alguien el foro de css lo habia mencionado pero nunca vi un codigo que hiciera tal.