![]() |
[CSS] Menu - 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: [CSS] Menu (/thread-css-menu) |
[CSS] Menu - Witek76 - 23-06-2013 Witam! Mam taki przykład http://jsfiddle.net/yNzCj/ (HTML i CSS). 1. Jeżeli spojrzymy na rezultat to widać pod zakładką na przykład "o firmie" czerwony kreskę 3px. Nie bardzo rozumiem dlaczego jest to opisane w div#menu a nie w .podmenu - przecież zakładka O firmie znajduje się w obrębie klasy .podmenu. 2. Wiem, że pozycjonowanie absolutne to pozycjonowanie względem pojemnika w jakim się znajduje, natomiast względne to rozmieszczenie względem miejsca w jakim element znalazłby się domyślnie - natomiast nie wiem co dzieje się w przypadku z przytoczonego przykładu: Kod: ul.podmenu ul { 3. Co robi i poco jest w przykładzie z-index:1. Z góry dziekuje za odpowiedz, pozdrawiam, RE: [CSS] Menu - Kartofelek - 23-06-2013 1) bo tam zwyczajnie jest za dużo znaniczków. Powinno być jedno ul.menu z podlistami ul. I tyle. 2) pozycjonowanie absolutne jest względem pierwszego rodzica który ma pozycjonowanie relatywne. U ciebie LI maja relatywne, wiec ul ktore w nich leżą są pozycjonowane względem nich. przyklad: div.jeden <-- relatywne ----div.dwa ---------div.trzy <- absolutne Div trzy mimo ze lezy w div.dwa bedzie pozycjonowany wzdledem div.jeden bo dopiero ten ma relatywne. RE: [CSS] Menu - Witek76 - 23-06-2013 1.Czyli ul.podmenu ul li pozycjonuje ul.podmenu ul ? a co z hierarchią nie powinno być odwrotnie ? 2. Co się dzieje jak się pozycjonuje bez wartości liczbowych? RE: [CSS] Menu - Kartofelek - 24-06-2013 1) Kod: <ul> U ciebie to pozycjonowanie wzgledem LI jest wazne, bo dzieki temu menu jest polozone na dole DANEJ LI. 2) To wtedy jego pozycja sie nie zmienia. Ale pozycjonowanie absolutne powinno byc raczej robione z pozycjami, bo inaczej nie ma sensu. RE: [CSS] Menu - Witek76 - 24-06-2013 Jeszcze jedno pytanie: rozumiem, że skoro elementy są wewnątrz div#menu to dziedziczą to co jest w div#menu - a jak tak jest to dlaczego tylko główne elementy menu je dziedziczą a reszta (pozycje rozwijane w podmenu mają formatowanie z div#menu) już nie? (mam na myśli czerwoną kreskę 3px) RE: [CSS] Menu - Kartofelek - 25-06-2013 Dziedziczenie =/= dziedziczenie ![]() Przyklad: Kod: <div class="xxx"> Teraz jeżeli napiszesz Kod: .xxx div {...} To jest to twoje dziedziczenie, a tak naprawdę to styl lapie wszystkie elementy. U ciebie są to LI. Teraz jeżeli chcesz ostylować tylko dzieci danego węzła to napiszesz: Kod: .xxx > div {...} Teraz przekładając to na twój przykład. Kod: .menu li {.....} <--- styluję wszystkie li (nawet dla podmenu, bo przecież są glebiej danego wezla) Kod: .menu > li {....} <---- styluje tylko glowne menu (bez .podmenu) RE: [CSS] Menu - Witek76 - 25-06-2013 Tak tylko wciąż nie wiem dlaczego ul.podmenu ul li { position:relative; float:none; border-bottom:1px solid #ffffff; } nie dziedziczy po div#menu border-bottom:3px solid #ff0000; (jak usuniemy wpis border- bottom:1px solid #ffffff; to niema nic) RE: [CSS] Menu - Kartofelek - 26-06-2013 div#menu {.....} ul.podmenu ul li {....} pierwszy styl styluje wszystkie divy które mają id=menu drugi styl styluje wszystkie li w podmenu. co jedgno ma do drugiego? Nie rozumiesz idei. W CSS NIE MA DZIEDZICZENIA. Jest nadpisywanie. Kod: <div></div> wszystkie divy dostały kolor czerwony. Potem dla jednego konkretnego to nadpisujemy. I tyle. Kod: .podmenu li {.....} li w podmenu dostają jakieś stylowanie. Ale chcemy dla dalszego podmenu zmienić jakąś właściwość. To ją nadpisujemy. PS. tak naprawdę istnieje opcja dziedziczenia z rodzica. Zwie się inherit i używa się jej gdy dziecko ma coś przejąć od rodzica np color:inherit. Raczej bardzo rzadko używane. |