Вёрстка по макету из олимпиады. Часть 3
Это третья часть курса про вёрстку макета из студенческой олимпиады по фронтенду от HTML Academy и Яндекса. В ней мы добавим стили состояний интерактивных элементов. Вот графический макет компонента. Состояния интерактивных компонентов макета нарисованы на странице «Стайлгайд».
Во второй части мы построили сетку и проверили её на переполнение. Продолжаем с этого состояния.
Определим для ссылок .header__link
состояние Наведение курсора мыши (:hover
). По макету в этом состоянии у ссылок добавляется подчёркивание. Чтобы линия была по нижней границе элемента, а не на базовой линии, как это происходит по умолчанию, добавим CSS-свойство text-underline-position
со значением under
.
Наведите курсор мыши по очереди на ссылки и убедитесь, что подчёркивание появляется.
В CSS есть медиавыражения, которые определяют устройства по их характеристикам. Например, вы можете применить выбранные стили только для широкоэкранных мониторов, компьютеров с мышью, или для устройств, которые используются в условиях слабой освещённости. Добавим медиавыражение @media (hover: hover)
, которое скажет применить стили для состояния :hover
только на устройствах, которые работают с мышью.
Добавим стили для состояния Нажатие (:active
). По макету у ссылок в этом состоянии нет подчёркивания, убираем его.
Наведите курсор мыши на ссылку, затем нажмите на неё и проверьте, что всё работает.
Определим состояние Элемент в фокусе. Для селектора состояния используем :focus-visible
. Он сработает, когда мы перешли на элемент и с помощью мыши и с помощью клавиатуры. В макете дизайнер не добавил это состояние. Поэтому тут мы можем выделить элемент на своё усмотрение. Добавим ему белую обводку за счёт CSS-свойства outline
.
Чтобы проверить, что стили применились, кликните в области окна мини-браузера и с помощью клавиши tab
перейти на любую ссылку в главной навигации.
Добавим стили состояния :hover
для ссылок в элементе .header__phone
. По макету у ссылок в этом состоянии меняется цвет.
Наведите курсор мыши на ссылку с номером телефона и проверьте, что стили применились.
Определим стили состояния :active
. В макете состояние не нарисовано, добавим стили на своё усмотрение. Поменяем цвет ссылки обратно на белый.
Чтобы проверить, что стили применились, наведите курсор мыши на ссылку с номером телефона и нажмите на неё.
Определим стили состояния Элемент в фокусе. В макете стили совпадают со стилями состояния Наведение. По умолчанию браузер для элементов в фокусе добавляет обводку. Поэтому помимо CSS-свойства color
, зададим CSS-свойство outline
со значением none
.
Определим стили состояния :hover
для лототипа .header__logo-link
. Тут мы снова добавляем стили на своё усмотрение. Поменяем полупрозрачность элемента на значение 0.5
.
В состоянии Нажатие сделаем логотип полностью видимым.
Для состояния Элемент в фокусе добавим стили аналогичные состоянию Наведение.
Стили состояний для интерактивных элементов шапки готовы.