Autor | Zpráva | ||
---|---|---|---|
Neas Profil |
#1 · Zasláno: 12. 9. 2010, 20:45:19 · Upravil/a: Neas
Ahoj.
Řeším teď jeden malý problém: Chtěl bych si udělat 2-úrovňové menu, tj: <ul> <li><a href="#">položka</a></li> <li>položka</li> <ul> <li><a href="#">položka</a></li> <li>položka</li> </ul> </ul> jistě jste si všimli, že některé položky menu v sobě mají ještě tag <a>, jiné jej nemají. Já bych potřeboval, aby se odkazy v první úrovni menu zobrazovaly stejně, jako položky v téže úrovni bez odkazů a stejně tak jejjich :hovery aby byly stejné. A ve druhé úrovni bych chtěl, aby znovu odkazy vypadaly stejně, jako položky bez odkazů, ale aby vypadaly jinak, než položky v první úrovni menu. A znovu také jejich :hovery aby byly stejné, ale jiné, než v první úrovni. Když vyřeším to, aby <a> a <li> v první úrovni vypadaly stejně jak normálně, tak přo :hover, způsobí to problém, že pak vypadá stejně i <a> ve druhé úrovni. A vlastně vždy, když v tomto menu vyřeším nějaký problém, způsobím tím jiný. Po pár hodinách zkoumání a případného hledání řešení na internetu jsem dospěl k názoru, že to nejspíš dělám naprpsto špatně a proto jsem se znovu rozhodl se obrát na vás, zkušenější. Děkuji a doufám, že můj výklad byl srozumitelný. EDIT: abyste se nedivili: položka v první úrovni bez <a> otevírá javascriptem druhou úroveň menu. |
||
panther Profil |
#2 · Zasláno: 12. 9. 2010, 20:56:17
Neas:
a:hover, li:hover {} |
||
Neas Profil |
#3 · Zasláno: 12. 9. 2010, 21:04:29
jenže tohle přesně způsobí, že <li> a <a> vypadají stejně v obou úrovních menu.
|
||
panther Profil |
#4 · Zasláno: 12. 9. 2010, 21:07:15
Neas:
a co třeba pro druhou úroveň přidat další styly? Druhou a další úrovně zaměříš kontextem. li li, li li a, li li a:hover, ...? |
||
Neas Profil |
#5 · Zasláno: 12. 9. 2010, 21:25:39
ouvej...
právě jsem si něčeho všimnul. Zprvu jsem myslel, že tohle přesně jsem tam měl, ale teď, když se na to dívám, opomněl jsem jeden style, který to celé svou přítomností způsoboval. Nevadí, teď už to funguje, takže děkuju :) |
||
Miloš Profil |
#6 · Zasláno: 12. 9. 2010, 22:17:01 · Upravil/a: Miloš
Vnořený <ul> máš mimo nadřazenou <li>. Tu nesmíš uzavírat před <ul>, ale až po něm:
<ul> <li><a href="#">položka</a></li> <li>položka <!-- TADY NIC NEUZAVÍRAT! --> <ul> <li><a href="#">položka</a></li> <li>položka</li> </ul> </li> <!-- a teprve tady uzavřít. --> </ul> |
||
Neas Profil |
#7 · Zasláno: 12. 9. 2010, 22:21:27
Ne, tohle mám správně, javascriptem řeším, aby se druhý seznam objevil až po kliknutí na danou položku v prvním seznamu.
|
||
panther Profil |
#8 · Zasláno: 12. 9. 2010, 22:23:23
Neas:
to, co napsal Miloš, jsem měl taky na jazyku/klávesnici, pak jsem na to zapomněl. „javascriptem řeším, aby se druhý seznam objevil až po kliknutí na danou položku v prvním seznamu.“ a co uživatelé s vypnutým JS? Ti se nedostanou vůbec na položky submenu ani na tu rodičovskou, protože ta nemá odkaz. |
||
Miloš Profil |
#9 · Zasláno: 12. 9. 2010, 22:31:29 · Upravil/a: Miloš
Neas:
„Ne, tohle mám správně,“ To teda nemáš, protože tohle: ... <li>položka</li> <ul> je špatně – vnořený seznam musí být uvnitř <li>. Mimo <li> nemá co dělat, protože v seznamech <ul>/<ol> nesmí být nic jiného, než <li>. A teprve uvnitř těch <li> může být jiný obsah. |
||
Neas Profil |
#10 · Zasláno: 13. 9. 2010, 19:09:00
jenže když to udělám, jak říkáš, nefunguje to správně..
|
||
panther Profil |
#11 · Zasláno: 13. 9. 2010, 19:12:12
Neas:
„nefunguje to správně..“ ...což znamená? Z hlediska HTML je ten tvůj zápis špatně. Jestli na něm přesto trváš, klidně ho tam nech, je to přeci jen tvůj web. |
||
Neas Profil |
#12 · Zasláno: 13. 9. 2010, 19:19:59 · Upravil/a: Neas
na jednu stranu chci, aby byl můj veb co nejvalidnější, na druhou však bych kvůli tomu musel předělávat CSS a i bez toho to teď funguje, jak má...
|
||
panther Profil |
#13 · Zasláno: 13. 9. 2010, 19:21:11
Neas:
„aby byl můj veb co nejvalidnější“ na validitě nezáleží, kvůli té se trápit nemusíš. „bych kvůli tomu musel předělávat CSS“ neviděl bych to tak drasticky, jen styly týkající se menu, cca deset řádek? |
||
Neas Profil |
#14 · Zasláno: 13. 9. 2010, 20:45:56 · Upravil/a: Neas
pokud na validitě nezáleží, proč bych to měl měnit? takhle to funguje.
|
||
Časová prodleva: 14 let
|
0