Autor | Zpráva | ||
---|---|---|---|
Meda beda Profil * |
#1 · Zasláno: 25. 11. 2010, 10:11:42
hello!!
Prosím vás, když chcu mám nějaké odkazy v menu, tak já bych chtěl, aby když kliknu na nějaký odkaz, tak aby se mi změnila barva a zůstala stejná dokud budu na té stránce. Odkazy mám třeba červené v normálním stavu. Jakmile, ale kliknu na první odkaz, tak byhc chtěl aby se barva zmenila na černou a zůstala tak dokud budu na té stránce odkazu. Poté jak kliknu na jiný odkaz, tak chcu. aby se barva prvního odkazu vrátila zpátky na červenou a ten druhý odkaz se zbarvil černě. Zkoušel jsem to přes a:active, ale to nefunguje. Funguje to jen jak na ten odkaz kliknu a držím. ale jakmile ho pustím, tak se vrátí zpátky. :-/ |
||
panther Profil |
#2 · Zasláno: 25. 11. 2010, 10:23:50
Meda beda:
„Zkoušel jsem to přes a:active“ ano, nastuduj si, k čemu pseudotřída „active“ slouží, kdy se její styly aplikují. Zároveň si dohledej a nastuduj, jak se odlišuje „aktivní položka v menu“ - je to snado dohledatelný dotaz. |
||
Petr ZZZ Profil |
Meda beda:
„Zkoušel jsem to přes a:active…“ Vyzkoušej ještě a:link, a:hover a a:visited . ;-)
panther: Ve výběru citátu se shodnem. (Ve zbytku vlastně taky. :) Moderátor panther: Ani další z pseudotříd problém tazatele neřeší. To buď příště napiš, nebo to nepiš. Moderátor panther: Jako kandidát na moderátora si na podobné poznámky, kterou jsi dodatečně vložil (druhá polovina příspěvku), dávej pozor.
|
||
Trejpa Profil |
Meda beda:
Na každé stránce zvlášť musíš daný odkaz nějak odlišit, obvykle se to dělá třídou, na kterou se pak aplikuje styl aktivní položky. Tedy na první stránce bude třída na prvním odkaze (nebo položce), na druhé na druhém a podobně. Celý tento proces lze zautomatizovat pomocí serverového skriptu, třeba PHP. Jak se to dělá najdeš v seriálu Polopatě. <menu> <li class=aktivni><a href=1.html>1</a> <li><a href=2.html>2</a> <li><a href=3.html>3</a> </menu> Pseudotřída :active má za úkol změnit odkaz po dobu mezi kliknutím a načtením nové stránky. Petr ZZZ: To měla být rada nebo výsměch? |
||
Meda beda Profil * |
#5 · Zasláno: 25. 11. 2010, 10:43:35
Petr ZZZ díky, takže přes html + css se to teda vyřešit nedá. Škoda. Budu muset dát php. Díky.
|
||
panther Profil |
#6 · Zasláno: 25. 11. 2010, 10:47:43
Meda beda:
jde to přes HTML a CSS, jak jinak, když se to týká vzhledu. Postup napsal Trejpa, k aktivní položce musíš dostat nějakým způsobem třídu, která ji odliší od ostatních. To můžeš buď ručně, nebo zautomatizovat pomocí PHP - to už záleží na tobě a na tvých znalostech (a rozsahu webu. Pokud máš statický pětistránkový web, snadno to doplníš ručně). |
||
Petr ZZZ Profil |
#7 · Zasláno: 25. 11. 2010, 11:33:33
Trejpa, panther:
Co je na následujícím řešení špatného a co je na mé stručné odpovědi [#3] tak nedostatečné, že by se z ní nedalo odvodit či dohledat? <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <style type="text/css"> .xx a { padding: 0 4px; } .xx a:link { color:#444; } .xx a:visited { color:#6ff; } .xx a:active { background-color:#0f0; color:#006; text-decoration:none; } .xx a:hover { background-color:#ff0; color:#0f0; text-decoration:none; } </style> </head> <body> <ul class="xx"> <li><a href="http://example.org">krtek</a></li> <li><a href="http://example.edu">hrabe</a></li> <li><a href="http://example.net">datel</a></li> <li><a href="http://example.com">dlabe</a></li> </ul> <p class="xx">Odstavec <a href="http://example.com">plný</a> odkazů <a href="http://example.net">sem</a> i <a href="http://example.edu">tam</a>.</p> </body></html> |
||
panther Profil |
#8 · Zasláno: 25. 11. 2010, 11:35:49
Petr ZZZ:
špatného na něm není nic, kromě toho, že neodpovídá na tazatelův dotaz - „Jak odlišit aktivní položku v menu?“. |
||
Petr ZZZ Profil |
#9 · Zasláno: 25. 11. 2010, 12:04:50 · Upravil/a: Petr ZZZ
Teď na to hledím a ve FF ten styl na aktivní odkaz nefunguje, má jen takový tečkovaný rámeček. V tom případě se omlouvám. Kdyby se na to chtěl někdo ještě mrknout, dal jsem to na web (test 25). V IE6
active funguje (má zelené pozadí).
|
||
panther Profil |
#10 · Zasláno: 25. 11. 2010, 12:09:22 · Upravil/a: panther
Petr ZZZ:
„Teď na to hledím a ve FF ten styl na aktivní odkaz nefunguje“ protože máš zpřeházené pořadí jednotlivých deklarací. Aplikují se styly jak pseudotřídy :active , tak :hover , které je přebijí. Styly pro :active zůstanou, pokud myší odjedeš z prvku a ten zůstane aktivní - přestane se aplikovat styl pro :hover (zmáčkneš levé myšítko, odjedeš z odkazu a pak až pustíš).
Řešením této situace je prohodit ony dvě zmiňované deklarace. |
||
__construct Profil |
#11 · Zasláno: 25. 11. 2010, 12:39:41 · Upravil/a: __construct
panther: Pardón - máš pravdu - elementy a podporuje od verzie 5; moja chyba nevšimol som si…
|
||
panther Profil |
#12 · Zasláno: 25. 11. 2010, 12:43:33
__construct:
„To ťažko pretože až IE7 ho podporuje a aj to len čiastočne“ na odkazech funguje, v odkázaném článku se hovoří o elementech mimo odkazy. |
||
Petr ZZZ Profil |
#13 · Zasláno: 25. 11. 2010, 12:54:44
panther:
Tak jsem to pořadí hover a active přehodil (test 26). Chová se to trošku jinak, ale asi to stále není to, co chce Meda beda. Každopádně dík za tip!
|
||
panther Profil |
#14 · Zasláno: 25. 11. 2010, 13:03:36
Petr ZZZ:
„ale asi to stále není to, co chce Meda beda“ není, toto nelze samotnými pseudotřídami dosáhnout. Řešení je v [#4]. |
||
Časová prodleva: 13 let
|
0