Як використовувати псевдокласи в CSS

Псевдокласи для посилань

Синтаксис у таблиці стилів:

Селектор: псевдоклас {
    /* Правила стилю */
}

Псевдокласи для тегу <a>

Псевдокласи задають формат гіперпосилання залежно від його стану:

  1. :link — невідвідане посилання.
  2. :visited — відвідане посилання.
  3. :hover — посилання при наведенні курсору миші.
  4. :active — активне посилання (при натиснутій кнопці миші).
Важливо: Порядок визначення: :link, :visited, :hover, :active.

Демонстрація станів посилання

Кольори для станів визначені у коді CSS. Після переходу за посиланням воно стає відвіданим і колір змінюється.

Приклад звичайних посилань

a:link    { color: yellow; }
a:visited { color: orange; }
a:hover   { color: green; }
a:active  { color: red; }

Цей код можна випробувати в демонстрації вище (після наведення та натискання).

Посилання різних класів

a:link    { color: blue; }
a:visited { color: purple; }
a.r:link    { color: yellow; }
a.r:visited { color: orange; }
a.r:hover   { color: green; }
a.r:active  { color: red; }

Демонстрація:

Звичайне посилання

Посилання класу r

Красиві приклади

a.link1 {
    color: #ff6b6b;
    position: relative;
    text-decoration: none;
}
a.link1::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0%;
    height: 2px;
    background: #ff6b6b;
    transition: width 0.3s;
}
a.link1:hover::after { width: 100%; }

a.link2 {
    color: #4ecdc4;
    text-decoration: none;
    border-bottom: 2px solid transparent;
}
a.link2:hover { border-bottom-color: #4ecdc4; }

a.link3 {
    background: linear-gradient(to right, #ff6b6b, #ffa500);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-decoration: none;
}
a.link3:hover {
    background: linear-gradient(to right, #ffa500, #ff6b6b);
    -webkit-background-clip: text;
    background-clip: text;
}

a.link4 {
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    padding: 5px 10px;
    border-radius: 20px;
    background: #ff6b6b;
    color: white;
    text-decoration: none;
    transition: all 0.3s;
}
a.link4:hover {
    background: #ee5a24;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}