![]() |
[html][css] Menu obrazkowe - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript) +--- Wątek: [html][css] Menu obrazkowe (/thread-html-css-menu-obrazkowe) |
[html][css] Menu obrazkowe - mkas - 07-09-2011 Witam, mam problem z poprawnym zakodowaniem prostego menu nawigacyjnego opartego na obrazkach. Przedstawię mniej więcej jak to powinno wyglądać: ![]() Wszystko tutaj jest obrazkami: a - lewa część menu, b - obrazek o szerokości 1px powtarzany na całą szerokość, c - obrazek z tekstem, d - separator e - prawa część menu. Po najechaniu myszką na menu, powinno się zmieniać: a na a' po najechaniu na pierwszą pozycję menu, b na b' po najechaniu na któryś obszar z tekstem, c na c' po najechaniu na któryś obszar z tekstem, e na e' po najechaniu na ostatnią pozycję menu. Oto co mam do tej pory: Kod: <ul id="menu"> Kod: ul, ul li { W takim układzie działa prawie wszystko, ale: 1. Nie wyświetlają się separatory. 2. Obrazek z tekstem c, zmienia się na c' dopiero po najechaniu na sam tekst, a chciałbym ,żeby zmiana nastąpiła po najechaniu w obszar menu z tym tekstem. 3. Po najechaniu w obszar z pierwszą lub ostatnią pozycją nie zmieniają się lewa/prawa część menu (a/e). Proszę o pomoc jak zakodować te trzy rzeczy. Dzięki z góry. RE: [html][css] Menu obrazkowe - Kartofelek - 07-09-2011 zle zle zle. 1) ID jest unikalne. Może być 1 raz. Jeżeli stylujesz LI to A musisz złapać #menu_1 A 2) a#menu2 ????? zle. Jeżeli używasz ID, wtedy nie używasz tagów bo wolniej to działa. Użyj więc samego #menu2 - ale patrz pkt 1 - nie może być 2 takich samych elementów o tym samym ID 3) słyszał o tym, że każdy element może mieć kilka backgroundów? Niech poczyta, dzięki temu pozbędzie się jakiś ...separatorów 5) Teoretycznie boki mogą być ideowo jak u ciebie, ale na pewno nie tak jak zrobiłeś: Kod: <li id="menu3"><a href="#" id="menu3" ></a></li> powinieneś mieć raczej ideowo tak: boki jak to boki - są na bokach. Dajesz im absolute, left, right, odpowiednie wymiary i overflow:hidden. Lista ma pozycje relatywna i marginesy boczne o szerokości bocznych elementów. Dzięki temu wszystko z automatu ładnie się układa a i nie ma głupich dodatkowych LI: Kod: <div#menu> A potem stylować Kod: #menu {height:....; padding:0 ....; position:relative;} A najlepej jak użyjesz "selectizer" (patrz w google) i będziesz używał selektorów CSS3 takich jak nth-child(0), nth-child(1). Wtedy nie będziesz musiał używać żadnych ID RE: [html][css] Menu obrazkowe - mkas - 07-09-2011 Dzięki za czas poświęcony na odpowiedź :) (07-09-2011, 03:24)Kartofelek napisał(a): zle zle zle.Dopiero zaczynam projektować strony stąd te głupoty;) Wiem, że ID jest unikalne, ale jak to pisałem coś mnie zaślepiło i przekonany byłem, że unikalne jest w obrębie jednej klasy - dla A są osobne id, a dla LI osobne. Teraz już wiem, że to głupota:D (07-09-2011, 03:24)Kartofelek napisał(a): 2) a#menu2 ????? zle. Jeżeli używasz ID, wtedy nie używasz tagów bo wolniej to działa. Użyj więc samego #menu2 - ale patrz pkt 1 - nie może być 2 takich samych elementów o tym samym IDOk, rozumiem. (07-09-2011, 03:24)Kartofelek napisał(a): 5) Teoretycznie boki mogą być ideowo jak u ciebie, ale na pewno nie tak jak zrobiłeś:To błąd przy nieuważnym skopiowaniu kodu. Wewnątrz UL mam tylko LI, a ten div znajduje się wewnątrz LI. (07-09-2011, 03:24)Kartofelek napisał(a): powinieneś mieć raczej ideowo tak:A tego już niestety nie rozumiem, który selektor do czego służy, gdzie powinienem podać ścieżki do obrazka z tekstem, gdzie do backgroundu czy hoverów? RE: [html][css] Menu obrazkowe - Kartofelek - 07-09-2011 W załączniku masz obrazek który ci mniej więcej pokaże o co chodzi. Pytaj o konkrety zolte - spany boczne (boki) fioletowe - UL zielone - LI A są w LI - nie rysowalem - stylowanie podale wcześniej #MENU - div w którym jest ul, spany ect. Stylowanie podałem |