В этой лекции будут расссмотрены продвинутые возможности CSS: псевдоклассы и пседоэлементы. Псевдоклассы позволяют контролировать офрмление элементов в зависимости от их состояния, а псевдоэлементы – добавлять дополнительные элементы на страницу, не изменяя при этом структуру HTML-файла.
Перед прочтением нужно обязательно ознакомиться с лекцией о формах и элементах ввода, так как некоторое количество примеров в этой лекции будет основано на материалах оттуда.
Псевдоклассы — особый вид селектора, который уточняет тип или состояние. Это как заранее заданные классы. Обычно это какой-то качественный признак: реакция на наведение курсора, порядок следования и другие.
Разберем на примере подсветки строки таблицы при наведении курсора:
tr {
background: #fff;
}
tr:hover {
background: #0e73ee;
}
https://codepen.io/lovesolaristics/pen/GREzayX
Благодаря псевдоклассам мы можем контролировать динамические параметры селекторов. Эти свойства сработают когда селектор подходит под дополнительный признак.
Обычно CSS код, содержащий пседокласс выглядит так:
[селектор]:псевдокласс {
свойство: значение;
}
Селектор может и отсутствовать. Тогда правило применится ко всем элементам, которые могут иметь признак этого псевдокласса. Например, CSS-правило :focus {}
применится к любому элементу, который будет выделен с помощью навигации по клавише Tab с клавиатуры.
Рассмотрим каждый из пседоклассов подробнее.
:active
Псевдокласс :active
позволяет задать стили для элемента, с которым происходит взаимодействие прямо сейчас. Можно кнопке задать стиль, который будет виден в тот краткий миг, когда над кнопкой зажата клавиша мыши.