Autor Zpráva
maartinek
Profil
Zdravím,

prosimvás jak udělám, aby když v menu kliknu na odkaz, tak aby po načtení toho odkazu měla ta položka menu jinou barvu. snažil jsem se použít a:active, ale nepomohlo to. snad mě chápete. díky.
Timy
Profil
maartinek
na té stránce, na kterou ten odkaz odkazuje, přiřaď tomu odkazu jinou třídu, kterou poté nějak nastyluj, to je všechno.
Mistr
Profil
http://www.jakpsatweb.cz/odkazy.html
maartinek
Profil
no jo, to sice ano, ale preci ten odkaz bude pokaždé jiný, takže mi to bude fungovat jen u jednoho a u dalších ne. jak to udelam, aby se ta třída přiřadila vždy tomu aktivnímu odkazu?
Mistr
Profil
no jo, to sice ano, ale preci ten odkaz bude pokaždé jiný
Tak teďko nechápu. Ty teda máš menu třeba se čtyřmi modře psanými odkazy a jde Ti o to, aby, po kliknutí na jeden z odkazů třeba odkaz "C"), se ta stránka načetla znova, modré byly všechny odkazy až na jedinou výjimku a tou je právě odkaz "C", který bude červený. Souhlasí?
maartinek
Profil
ano, souhlasí. tak to bych třeba musel tomu odkazu "C" přiřadit třídu "active". jenže když kliknu na odkaz "B", tak tam už žádná třída není a odkaz zůstane modrý. to bych tu třídu musel asi přidělovat nějak přes PHP?
Dero
Profil
prosimvás jak udělám, aby když v menu kliknu na odkaz, tak aby po načtení toho odkazu měla ta položka menu jinou barvu

Na tohle CSS nestačí. Na té konkrétní stránce musíš onomu odkazu přiřadit jinou třídu - a tu pak stylovat. Automaticky to CSS neumí.
Mistr
Profil
Dělá se to pomocí kaskádových stylů (tedy CSS).

Každá stránka má v tagu body i class. Například <body class="prvni"> nebo <body class="druhy"> atd.
Každá položka odkazů má zas nastavené id. Například <a href="strana1" id="jedna"> nebo <a href="strana2" id="dvojka"> atd.

A kód CSS pak vypadá takto:
.prvni #jedna {color: red;}

.prvni #dvojka {color: blue;}
.druhy #jedna {color: blue;}
.druhy #dvojka {color: red;}

Chápeš to? Stejným způsobem je děláno i Jak psát web.
Mistr
Profil
Dero
Umí. Proč by to nešlo postupem, jak jsem popsal výše?
maartinek
Profil
ano, takhle by to šlo. myslím, že přes to php by to bylo snadnější, jenže tomu ještě moc nerozumim.
habendorf
Profil
Mistr:

Zbytečně složité, zvláště při více odkazech.

a {color:blue;}
.prvni #jedna, .druhy #dvojka {color: red;}
habendorf
Profil
Jinak ještě záleží, kam odkazuje ten aktivní link. Dá se předpokládat že na "#". Pak lze psát

a[href=#] {color:red;}

Nevýhodou je, že to neumí IE.
Mistr
Profil
habendorf
Zbytečně složité, zvláště při více odkazech.
Jistě, ovšem pro začátečníka je, myslím, můj způsob přehlednější, ne?
Dero
Profil
Umí. Proč by to nešlo postupem, jak jsem popsal výše?

Jistěže to tak jde. Ale automaticky to není, každá stránka tam tu třídu má (na body). Dotaz jsem pochopil tak, že tazatel chce jinak obarvit odkaz, který odkazuje na právě otevřenou stránku. Automaticky, z daného stavu, bez specifických tříd. To CSS neumí.
Mistr
Profil
maartinek
myslím, že přes to php by to bylo snadnější
Když nechceš, neber. Jen jak jsem již napsal. Když to použil Yuhů na Jak psát web, tak to asi nebude zas tak obtížné či náročné.
Mistr
Profil
Dero
každá stránka tam tu třídu má (na body).
Ano, souhlasím.

To CSS neumí.
To skutečně asi CSS samo od sebe neumí.


chce jinak obarvit odkaz, který odkazuje na právě otevřenou stránku. Automaticky, z daného stavu, bez specifických tříd.
Já to tak sice nevnímal, :-) ale to je jedno. Jen mi uniká možnost použití toho řešení, jak jsi ho pochopil Ty. Nevím, jak by se něco takového dalo využít či vůbec použít.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0