Dynamiczna szerokość rozwijanego menu

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
kwiecia
Posty: 1
Rejestracja: czw mar 24, 2011 1:38 pm

Dynamiczna szerokość rozwijanego menu

Post autor: kwiecia »

Na początku, jako że jestem tu nowa, witam całą społeczność forum :) Chcę poradzić się was w sprawie problemu szerokości menu, z którym się zetknęłam.

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...

Obrazek

...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ł:

Obrazek

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

Obrazek

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ść?
kodernet
Posty: 1
Rejestracja: czw mar 31, 2011 10:45 am

Re: Dynamiczna szerokość rozwijanego menu

Post autor: kodernet »

Spróbuj tak:

ul li {position: relative;
...}
ul ul{position: absolute; left: 0;
...}
ODPOWIEDZ