@harve

Как оставить focus рабочим только для меню?

Добрый день. Имеется такое: https://codepen.io/noddes/pen/LYoZjQB

Справа ссылки. Если по ним нажимать, то выбранная ссылка подчеркивается, но если кликнуть в любом месте страницы(или вообще произвести любые действия), то подчеркивание слетает. Как это исправить? Знаю, что можно кастомный андерлайн прикрутить, но интересует данный вариант.
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега CSS
Нужно назначать кликнутой ссылке отдельный класс, который бы обозначал её активность.
Это делает на основании адреса страницы либо бэкенд при генерации шаблона, либо JS, если это SPA.

В представленной песочнице это может выглядеть примерно так:
.nav ul li a.active {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .1em;
}

const $links = document.querySelectorAll('.nav a');

Array.from($links).forEach(($link) => {
  $link.addEventListener('click', (event) => {
    document.querySelector('.nav a.active')?.classList.remove('active');
    event.target.classList.add('active');
  })
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
16 июн. 2024, в 11:11
25000 руб./за проект
16 июн. 2024, в 10:55
2000 руб./за проект