E soprattutto mi dispiace vedere che la gente non mi risponde a questo post, o forse perchè mi danno dell'ignorante, o perchè anche loro non trovano risposta...boh
La ragione e` la seconda.
Che io sappia non esiste una risposta soloCSS che funzioni anche nei browser vecchi.

In JS si puo` fare: devi farti una tabella di questo tipo:
codice:
 2   49.9
 3   33.3
 4   24.9
 5   19.9
 ...
e poi usarla per definire la larghezza (in %) in base al n. di elementi.

Ma queste sono cose che normalmente fa il server: in partenza si sa quanti sono gli elementi, per cui e` facile anche definrne la larghezza.

Nota che il totale fa sempre qualcosa meno di 100%, per evitare problemi con gli arrotondamenti.