Pues que yo sepa no se puede hacer sin modificar el css cada vez que añadas o elimines los divs pequeños, pero ya que van a estar variando pues puedes modificar esa propiedad cada vez, ya sea a mano o con php.
Le he robado un poco de código a easy para este ejemplo
Código CSS:
Ver original#contenedor {
text-align: left; //para que funcione en IE y que sea centrado
width: 900px; //ancho del contenedor
margin: auto; //para que funcione en FF entre otros
}
#centrador {
width: 390px; // esto lo calculas sumando los width y los margin (izquierdo y derecho) de los divs pequeños
margin: 0 auto 0 auto;
}
.centrado{
float:left;
text-align:left;
width: 100px;
height:100px;
margin: 15px;
background: blue;
}
Código HTML:
Ver original <div style="clear: both;"></div> <!-- este ultimo div sin contenido para que todo cuadre bien -->