Autor Zpráva
Manny
Profil *
Ahojte,
dodneška jsem k označení nakliknuté položky menu s úspěchem používal toto:
<?php
if(!$_GET['str']) {$aktivni['uvod']=' id="aktivni"';}
else {$aktivni[$_GET['str']]=' id="aktivni"';}
?>
...

<ul id="menu">
<?php
	echo'<li><a href="?str=uvod"'.$aktivni["uvod"].'>úvod</a></li>
		<li><a href="?str=fotokomentare"'.$aktivni["fotokomentare"].'>fotokomentáre</a></li>
		....
?>
</ul>


a v css
#aktivni {
	background:url(design/menu.png) 0 -40px no-repeat;
	color:#ffffff;
}


Ale teď nic. Idecko se správně vypíše tam, kam má, ale efekt žádný. Myslel jsem, že to bude problém css, ale tam nic nevidím. Hover pracuje s úplně stejným stylopisem a ten funguje.
Petr ZZZ
Profil
Zkusil bych to s pseudotřídou active.
CSS:
.xxx a:active  { color:#ffffff; }
HTML:
<ul class="xxx">
<li><a href="stranka1.html">položka menu</a></li>
<li><a href="stranka2.html">jiná položka menu</a></li>
</ul>

Dodatek: Ups, tak jsem si to vyzkoušel s odkazem odkazujícím na sebe sama a koukám, že se to nezvýrazňuje, omlouvám se.
Chamurappi
Profil
Reaguji na Petra ZZZ:
Ne. Pseudotřída :active je k tomuto účelu nepoužitelná. Podporovat opačnou představu (jakkoliv příjemně a jednoduše vypadá) je opravdu škodlivé.


Reaguji na Mannyho:
Dva funkční kousky kódu nám mají pomoci odhalit, v čem jsi začal dělat chybu? Dodej odkaz na živou ukázku.
Manny
Profil *
Chamurappi:
Fajn. Rozpracované to mám tady.
Chamurappi
Profil
Reaguji na Mannyho:
Háček je v tom, že selektor ul#menu li a (jedno ID + čty tři elementy) je silnější než selektor .aktivni (jedna třída), takže má přednost.
panther
Profil
Manny:
výborně. Deklarace v CSS pro ul#menu li a {} přebíjí tu .aktivni. Použij ul#menu li a.aktivni {}.

Chamurappi:
elementy jsou tam jen tři, ale na věci to nic nemění. Jen trochu základoškolské matematiky :-)
Manny
Profil *
Chamurappi, panther:
Díky pánové, už to jede. Napadlo mě něco podobného, ale dostal jsem se jen k
li a.aktivni

Vaše odpověď

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