Zrobiłam standardowe poziome menu na liście, wyświetlane blokowo z właściwością float:left, wycentrowane za pomocą zewnętrznego diva. Nie nadawałam poszczególnym elementom ustalonej szerokości, bo zależy mi na tym, by były uniwersalne. Wszystko ładnie, pięknie...

...do czasu, aż ustaliłam następny, rozwijany poziom menu. Nadrzędne <li> miały ustaloną wysokość i właściwość overflow:hidden, dzięki której nie było widać sub-menu aż do czasu najechania na odpowiedni element (zmiana overflow na visible za pomocą JS). Niestety, pierwszy poziom menu totalnie się rozjechał:

A wszystko przez to, że jeśli w sub-menu jest jakaś długa pozycja, to siłą rzeczy rozszerza ona element nadrzędny.

Oczywiście mogłabym ustalić "na sztywno" odpowiednie szerokości dla elementów nadrzędnych oraz podrzędnych, ale właśnie ze względu na chęć zachowania uniwersalności menu robić tego nie chcę. I tu zwracam się z pytaniem do was, w jaki inny sposób mogę to obejść?