#css #hyperlink #focus #tabindex #outline
#css #гиперссылка #фокус #tabindex #контур
Вопрос:
Мне нужно скрыть контур фокуса при нажатии на ссылку. Но мне также нужно показать это, когда я перемещаю ссылки с помощью tabindex. Некоторые веб-сайты делают это с помощью какого-либо конкретного обходного пути.Кажется, что это поведение по умолчанию. Но на моем веб-сайте, когда я нажимаю на ссылку, она также показывает контур. Как я могу показать контур, только когда я перемещаю ссылки с помощью клавиши tabindex? Заранее спасибо. Helmut
Комментарии:
1. что у вас есть на данный момент? Удаление контура — это простая манипуляция с CSS, выполнение которой в какой-то момент может быть немного сложнее, но не выглядит невозможным. Вы уже прочитали эту статью ?
2. Да, я знаю, что могу удалить контур с помощью свойств css, но мне нужно показывать его при нажатии клавиши tabindex, как это делает домашняя страница Google.
Ответ №1:
Если поведение вкладки — это именно то, что вам нужно определить при настройке свойства контура CSS, я не верю, что CSS может определять тип устройства ввода из таких состояний, как: фокус или: активный.
Вместо этого вы могли бы скрыть контур для всех элементов на странице с помощью CSS:
a:focus, a:active {
outline:0;
}
a.tabbed {
outline:1px solid red;
}
Затем вы должны использовать JavaScript для настройки контура для определенных элементов, которые получают фокус с помощью клавиши tab.
document.addEventListener('keyup', function (e) {
var code = e.keyCode ? e.keyCode : e.which;
var el = document.activeElement;
if (code == 9 amp;amp; el.tagName == 'A') {
el.className = "tabbed";
}
}, true);
Я добавил краткий пример:http://codepen.io/anon/pen/aljsu