Jak w CSS ustawić, aby hiperłącze nieodwiedzone było żółte, a odwiedzone zielone?
Źle. Brak reguły dla nieodwiedzonego (
:link), a :hover to najechanie.Źle. Kolory zamienione:
:visited to odwiedzony, :link - nieodwiedzony.Dobrze.
:link - nieodwiedzony (żółty), :visited - odwiedzony (zielony).Źle.
:hover dotyczy najechania kursorem, nie odwiedzenia linku.Wygląd odnośników zależnie od ich stanu ustawiają w CSS pseudoklasy.
a:link dotyczy linku jeszcze nieodwiedzonego, a a:visited - już odwiedzonego. Aby nieodwiedzony był żółty, a odwiedzony zielony, zapisuje się a:link { color: yellow; } a:visited { color: green; }. Istnieją też :hover (po najechaniu) i :active (w trakcie kliknięcia); zaleca się definiować je w kolejności LVHA. Dlatego poprawny jest ten zapis.Pozostałe zapisy mylą pseudoklasy lub kolory. Wariant z
a:visited { color: yellow; } i a:link { color: green; } zamienia kolory miejscami - nieodwiedzony wyszedłby zielony zamiast żółty. Dwie inne odpowiedzi używają :hover, które reaguje na najechanie kursorem, a nie na to, czy link był odwiedzony, i pomijają regułę dla stanu :link. Stan nieodwiedzony opisuje :link, a odwiedzony :visited, dlatego poprawny jest zapis a:link { color: yellow; } a:visited { color: green; }.