Aquí hay un violín que funciona con un número indeterminado de celdas: http://jsfiddle.net/r9yrM/1/
Puede fijar un ancho a cada padre div
(la tabla ), de lo contrario será 100% como de costumbre.
El truco es usar un table-layout: fixed;
poco de ancho en cada celda para activarlo, aquí 2%. Eso activará el otro algoritmo de la tabla, aquel en el que los navegadores se esfuerzan mucho por respetar las dimensiones indicadas.
Pruebe con Chrome (e IE8, si es necesario). Está bien con un Safari reciente, pero no recuerdo la compatibilidad de este truco con ellos.
CSS (instrucciones relevantes):
div {
display: table;
width: 250px;
table-layout: fixed;
}
div > div {
display: table-cell;
width: 2%; /* or 100% according to OP comment. See edit about Safari 6 below */
}
EDITAR (2013): Cuidado con Safari 6 en OS X, tiene un table-layout: fixed;
error (o tal vez simplemente diferente, muy diferente de otros navegadores. No revisé el diseño de la tabla CSS2.1 REC;)). Prepárate para diferentes resultados.