Aqui está um violino que funciona com número indeterminado de células: http://jsfiddle.net/r9yrM/1/
Você pode fixar uma largura para cada pai div
(a tabela ), caso contrário, será 100% como de costume.
O truque é usar table-layout: fixed;
e alguma largura em cada célula para acioná-lo, aqui 2%. Isso acionará o outro algoritmo da tabela, aquele em que os navegadores tentam muito respeitar as dimensões indicadas.
Teste com o Chrome (e IE8, se necessário). Tudo bem com um Safari recente, mas não me lembro da compatibilidade desse truque com eles.
CSS (instruções 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 */
}
EDIT (2013): Cuidado com o Safari 6 no OS X, ele está table-layout: fixed;
errado (ou talvez apenas diferente, muito diferente de outros navegadores. Não fiz a revisão do layout da tabela CSS2.1 REC;)). Esteja preparado para resultados diferentes.