Ok so I thought I had this fixed using white-space:no-wrap it worked in chrome but nothing else.
I have something like this:
Well I know every good and purist webdeveloper will hate me (and I hate me when I post something like that) but you can simply use table to do that.
this runs in all browsers. Yes, it is not standard, no it is not CSS. But... productivity is sometime better than standard.
You could also used a fixed div width for your container (ul). and use float left position for all your children