GoldenCrystal (./5) :
Tu veux dire de son contenu non ? 
Non non, de son conteneur; en l'occurence mettre les li en display:inline aura pour effet de leur faire prendre toute la largeur de la page (et donc de les retrouver les uns en dessous des autres)
[edit] bon en fait pas du tout, c'était juste une conséquence du fait que cet élément contenait lui-même un élément en display:bloc, ce qui est interdit. ceci dit le problème reste entier : impossible de définir la largeur de l'élément si il est en display:inline

Oui en fait je viens de revérifier, c'est pourri, mais bon, le clear: left c'est le seul moyen que je vois pour forcer une hauteur de ligne.
Si tu peux te permettre le javascript à la limite... il suffit de changer dynamiquement tes éléments entre clear: none et clear: left... C'est pas beau mais à priori relativement rapide (sachant qu'une fois le travail sur la première ligne effectué, toutes les autres sont similaires)
Après faudrait regarder du côté de display: inline-block, mais firefox ne le supporte pas et j'arrive a rien avec -moz-inline-block...
Je connaissais pas inline-block, je vais regarder mais d'après le nom ça pourrait être une solution. Par contre si ça pose des problèmes de compatibilité selon les navigateurs, c'est pas top. Le javascript même si c'est rapide je trouve ça très dommage, je suis pas vraiment fan du bricolage javascript pour rectifier des bugs d'affichage (ok quand l'affichage est entièrement réalisé en js, ok quand il n'est pas possible de faire autrement, mais là j'ai du mal à croire que ce soit sans solution :/)