Autor Zpráva
Meda beda
Profil *
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
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 *
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
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
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
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
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
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
To ťažko pretože až IE7 ho podporuje a aj to len čiastočne
panther: Pardón - máš pravdu - elementy a podporuje od verzie 5; moja chyba nevšimol som si…
panther
Profil
__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
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
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].

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0