← Wszystkie wpisy

Poradniki

Podświetl odwiedzone linki — i dlaczego CSS pozwala na tak mało

Wyniki wyszukiwania, lista artykułów, dokumentacja — i nijak nie poznasz, które linki już otwierałeś. Jedna reguła CSS to naprawia. Ale przy okazji warto poznać, dlaczego selektor :visited jest tak dziwnie okrojony.

Reguła

W zakładce CSS reguły, wzorzec URL na stronę z listami linków albo * globalnie:

a:visited {
  color: #9333ea !important;
}

Tyle. Odwiedzone linki robią się fioletowe. Wybierz kolor mocno różny od koloru zwykłego linku, żeby kontrast był czytelny od razu.

Dlaczego tak mało da się zrobić

Naturalny odruch: skoro mogę zmienić kolor, to dodam też ikonę albo tło. Nie dodasz — i to celowo.

Gdyby :visited pozwalał na dowolne style, dowolna strona mogłaby wykryć Twoją historię. Wstawiłaby tysiąc ukrytych linków, każdemu nadała przez :visited inny rozmiar albo tło, zmierzyła layout JavaScriptem i odczytała, które URL-e odwiedziłeś. To była realna podatność (history sniffing) — i przeglądarki ją zamknęły.

Co wolno, czego nie

Na :visited działają wyłącznie właściwości kolorów: color, background-color, border-color, outline-color. I nawet one są „kłamane" w jedną stronę:

Chcesz więcej niż kolor?

Odznaki, ikony, liczniki odwiedzin — tego :visited nie da. Wymagałyby śledzenia Twojej historii w JavaScript, co jest osobnym, znacznie cięższym tematem. Dla większości przypadków sam kolor w zupełności wystarcza — bo jedyne, czego naprawdę potrzebujesz, to „byłem tu czy nie".

Pułapki

Zobacz też

Zainstaluj JustZix — i od pierwszego rzutu oka wiedz, gdzie już byłeś.

Oceń ten wpis

Brak ocen — oceń jako pierwszy.

Wypróbuj samodzielnie

Zainstaluj JustZix i wklej dowolny snippet z tego artykułu. Dwie minuty od zera do działającej reguły na wszystkich Twoich urządzeniach.

Pobierz JustZix

Funkcje · Jak to działa · Przykłady · Zastosowania