
Браузеры могут отличать посещенные и непосещенные ссылки. Почему бы не воспользоваться этим свойством. Даже если вы не собираетесь применять стили к ссылкам, у большинства браузеров они есть по умолчанию.
С помощью псевдо-классов CSS можно оригинально отметить посещенные ссылки, добавив визуальный индикатор. Пример можно увидеть здесь.
Так как задача состоит в добавлении индикатора к ссылкам, идеальным решением является использование псевдо-классов :before или :after.
a:visited:before {
content: "";
}
С их помощью можно добавить содержимое к ссылкам. Однако не все так просто. Нельзя использовать стандартные символы, так как обычно вы это делаете в HTML. Например добавление ®, не сработает в большинстве браузеров. Вместо этого используйте косую черту и ASCII код символа.
a:visited:before {
content: "\2713 ";
}
Работает в Firefox, Opera, Safari и конечно же не работает в IE. IE не поддерживает эти псевдо-классы… Можно решить задачу без использования :before и :after, используя только a:visited (который понимает IE) и применив некоторые стили. Однако теперь индикатор будет являться изображение:
a:visited {
padding-left: 14px;
background: url(images/checkmark.gif) left no-repeat;
}
Готово!
Оригинал: «Checkmark» Your Visited Links with Pure CSS
Хотелось бы добавить то, что посещенные ссылки будут увеличиваться по ширине. Из-за этого текст может изменять структуру. Можно увеличить ширину еще непосещенной ссылки на величину добавляемого отступа с помощью тех же отступов:
a {
padding:0 7px;
}
a:visited {
padding-left: 14px;
background: url(images/checkmark.gif) left no-repeat;
}