ArtShok. Сайтостроение и немного SEO

Уроки и примеры по CSS, jQuery. Советы по монетизации и продвижению сайтов

Rotaban.ru - биржа банерной рекламы


20 мая 2009

5 способов красивого оформления посещенных ссылок с помощью CSS

Как правило, вы не найдете на большинстве сайтов отдельных стилей для оформления посещенных ссылок, так называемого :visited псевдокласса. По правде сказать, это и не всегда надо. Но если структура сайта достаточно грамоздка, или вы часто используете списки (например, перечень статей), то будет не лишним предусмотреть вывод отдельного стиля для уже посещенных ссылок.

Demo и Скачать

Способ 1. Цвет ссылки
Проще всего будет выделить посещенную ссылку другим цветом. Но не рекомендую устраивать “пожар в Африке”. Например, если ссылки в тексте выделены красным цветом, то посещенную ссылку можно сделать темно-красного или бардового цвета

a:link {color: #FF0000; text-decoration: none;}
a:visited {color: #990000; text-decoration: none;}

Способ 2. Перечеркивание
Очень часто подчеркивание используют для стилизации ссылки непосредственно под курсором, a:hover. Вы так же можете использовать подчеркивание и для посещенной ссылки. Но, чтобы не возникало путаницы, текст можно перечеркнуть.

a:visited {color: #25A30A; text-decoration: line-through;}

Способ 3. Цвет фона
Уже более интересный в плане оформления способ, но как правило используется для положения курсора поверх ссылки, a:hover. Так что будьте осторожны.

a:link {
color: #25A30A;
text-decoration: underline;
background-color: transperent;
}

a:visited {
color: #FFFFFF;
text-decoration: none;
background-color: #77B575;
}

Способ 4. Фоновая картинка
Уже более интересный в плане оформления способ, но как правило используется для положения курсора поверх ссылки, a:hover. Так что будьте осторожны.

a:link {
color: #25A30A;
text-decoration: underline;
}

a:visited  {
color: #888888;
text-decoration: none;
background: url(visited-icon.gif) no-repeat 0% 50%;
padding-left: 12px;
}

Немного усложним задачу, добавив смену фоновой картинки для уже посещенной ссылки при наведении курсора:

a:visited  {
color: #888888;
text-decoration: none;
background: url(visited-icon.gif) no-repeat 0% 50%;
padding-left: 12px;

a:visited:hover  {
color: #25A30A;
background: url(visited-icon-hover.gif) no-repeat 0% 50%;
}

Способ 5. Использование псевдоэлементов :before, :after
Будьте осторожны, в IE 6 данный способ не работает. Поэтому сами решайте использовать его или нет в качестве оформления ссылок. :before и :before автоматически добавляют содержимое соотвественно до и после указанного элемента, в нашем случае это ссылки.

a:visited:before {
color: #25A30A;
text-decoration: underline;
content: "(ok) ";
}

a:visited:after  {
color: #25A30A;
text-decoration: underline;
content: " (ok)";
}

Помимо текста можно использовать unicode символ, например:

a:visited:before {
color: #25A30A;
text-decoration: none;
content: "\221A\00A0";
}

Где \00A0 - неразрывный пробел, а \221A - знак квадратного корня, √ Размер, цвет и стиль текста “до” и “после” задается так же, как и обычно:

a:visited:before {
color: #25A30A;
text-decoration: none;
content: "\221A\00A0"
text-transform: uppercase;
font-size: 10px;
}

Смена текста элементов :before и :after в ссылке при наведении курсора задается следующим образом:

a:visited:after  {
color: #25A30A;
text-decoration: underline;
content: " (ok)";
}

a:visited:hover:after  {
color: #25A30A;
text-decoration: underline;
content: " (allready read!)";
}

Другой стиль текста для положения :hover задается по аналогии с предыдущим примером.

Demo и Скачать

Ну и коли мы сегодня говорим о красивом, то в качестве бонуса прилагаю ссылку на 10 Красивых и бесплатных шрифтов для веб-дизайнера. В частности Nevis очень хорошо подойдет для логотипов, Pappo’s Blues - тоже + его можно использовать и в дизайне сайта как декортаивный элемент.

Почему собственно рекомендую бесплатные шрифты… Нет, я не против вложений как таковых, будь то инвестиции в сео, любимый ресурс, хобби, саморазвитие или портфель ценных бумаг. Но считаю, что тратиться надо тогда, когда действительно знаешь, для чего тебе это нужно и что с этим в итоге можно сделать.

Кстати, тем, кто сейчас занимается раскруткой сайта за счет покупки ссылок, рекомендую статью “Покупаем ссылки правильно”. Это к вопросу о правильности капиталовложений ;)

Рекомендуемые статьи:

Обязательно к использованию:



Комментарии к этой записи


  1. # 1 Дмитрий (1)

    Мне больше всего перечеркивание нравится.

    [Ответить]


  2. Перечёркивание и Тёме Лебедеву нравится, как и смайлы. )

    [Ответить]


  3. Наглядных бы еще изображений…

    [Ответить]


  4. А Demo для кого ;) Там все примеры показаны

    [Ответить]


  5. посмотрел демку — впечатлило! действительно юзабилити можно такой фишкой поднять

    [Ответить]


  6. Спасибо за шрифты, польщен ;-)

    [Ответить]


  7. Спасибо, очень пригодилось!!!

    [Ответить]


  8. У меня почему то ни одно Дэмо не работает, пользуюсь Мазиллой…. Странно. А можно ли сделать что нибудь с курсором, который наводиться на уже посещённую ссылку?

    [Ответить]

    ArtShok:

    Все отлично работает.
    На счет курсора: для a:visited пропиши в css следующий код {cursor: ###}, где ### - вид курсора который требуется. Статья по курсорам: http://www.art-shok.ru/css/changing-curcor-view/

    [Ответить]


  9. Почему же у меня ничего не работает? Все ссылки одинаковы, кроме первой, та красная. Ни цвет фона ни фоновая картинка не появляются, даже перечёркивание не работает…. В чём может быть причина?

    [Ответить]

    ArtShok:

    Без понятия. если на первой ссылке все сработало, то остальные должны были автоматом поменяться. У меня FireFox 3.0.18 - все отлично. Попробуй по каждой ссылке прощелкать и посмотреть в IE (в 6 версии правда псевдо классы не работают)

    [Ответить]


  10. Представленные в демо примеры и обновление страницы (с примерами) у меня корректно работают только в IE 7. В опере 10.1 после клика по ссылке в способе 1 все остальные примеры на странице оказываются в кликнутом состоянии. То же происходит и в Мозилле 3.56. Дальше после обновления страницы исходное состояние (некликнутое) в Опере и Мозилле вообще не достигаются.

    А вообще разница в работе браузэров с CSS проявляется не только с вашими примерами. IE7 у меня всегда корректен с CSS, а в Опере и Мозилле почему то стили начинают работать (в частности смена цвета шрифта через :hover) только после того как по этой ссылке 1 раз “сходишь” . После возврата или обновления hover работает нормально. В IE7 такой проблемы нет.
    Был бы очень признателен, если бы подсказали в чем дело и как добиться, чтобы в Опере и Мозилле hover тоже работал сразу а не повторно.

    [Ответить]

    Cemen:

    “В опере 10.1 после клика по ссылке в способе 1 все остальные примеры на странице оказываются в кликнутом состоянии.”
    У меня также, но помоему так и задумано, так и должно быть?

    [Ответить]

    aaartist:

    На мой взгляд задумано именно так как показывает IE (все примеры самостоятельны) - сравните оперу и IE

    [Ответить]

    ArtShok:

    Cemen, вы правы. В качестве адреса ссылки везде поставлен знак диеза #, соответственно при клике на любую ссылку все остальные автоматически становятся посещенными.

    [Ответить]

Оставить комментарий или два