Кратко
СкопированоПсевдокласс :active позволяет задать стили для элемента, с которым происходит взаимодействие прямо сейчас. Например, можно задать кнопке стиль, который будет виден в тот краткий миг, когда на кнопке зажата клавиша мыши.
Пример
СкопированоСделаем объёмную кнопку, у которой будет меняться цвет фона и текста в активной фазе.
button { padding: 2.5rem; border: 0; border-radius: 2.5rem; font-size: 2.5rem; background-color: #bada55; cursor: pointer; transition: background 0.3s, color 0.3s;}button:active { color: white; background-color: purple;}
button {
padding: 2.5rem;
border: 0;
border-radius: 2.5rem;
font-size: 2.5rem;
background-color: #bada55;
cursor: pointer;
transition: background 0.3s, color 0.3s;
}
button:active {
color: white;
background-color: purple;
}
Как пишется
СкопированоК любому селектору добавляем двоеточие и ключевое слово active.
Селектор по тегу в состоянии :active
Скопировано
a:active { /* Стили */}
a:active {
/* Стили */
}
Селектор по классу в состоянии :active
Скопировано
.link:active { /* Стили */}
.link:active {
/* Стили */
}
Составной селектор в состоянии :active
Скопировано
li .link:active { /* Стили */}
li .link:active {
/* Стили */
}
Селектор по id в состоянии :active
Скопировано
#id:active { /* Стили */}
#id:active {
/* Стили */
}
Селектор по классу и его псевдоэлемент в состоянии :active
Скопировано
.link::before:active { /* Стили */}
.link::before:active {
/* Стили */
}
Как понять
СкопированоВ момент нажатия на элемент при помощи кнопки мыши или клавиши клавиатуры этому самому элементу присваивается виртуальный класс :active, который можно стилизовать. За присвоение этого класса отвечает движок браузера, нам о самом процессе присвоения думать не нужно.
Подсказки
Скопировано💡 Смену стилей между состояниями можно анимировать при помощи transition 🎉
💡 Часто, если дизайнер не позаботился об отрисовке состояния :active для кнопок, можно задать стили сразу и для наведения курсора и для активного состояния:
button:hover,button:active { /* Стили */}
button:hover,
button:active {
/* Стили */
}
На практике
Скопированосоветует
Скопировано🛠 Дизайнеры и верстальщики почему-то часто забывают про тот короткий промежуток времени, когда пользователь нажал кнопку мыши, но ещё её не отпустил. И не стилизуют состояние :active. Но «дьявол кроется в деталях», и если в вашем интерфейсе будут продуманы даже такие небольшие элементы, то он будет создавать ощущение опрятности и заботы о пользователе.
🛠 Если вы задаёте стили для разных состояний ссылок, то следует придерживаться определённого порядка в объявлении стилей: :link — :visited — :focus — :hover — :active.
Этот порядок легко запомнить в виде аббревиатуры LVFHA и мнемоники LoVe Fears HAte.