<kbd>: Элемент ввода с клавиатуры
Базовая линия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна во всех браузерах с июля 2015 года.
Элемент <kbd> HTML представляет собой фрагмент текстового содержимого, обозначающего текстовый ввод с клавиатуры, голосового ввода или любого другого устройства ввода текста. По соглашению, пользовательский агент по умолчанию отображает содержимое элемента <kbd> с использованием шрифта по умолчанию с фиксированным размером, хотя это не предписано стандартом HTML.
Попробуйте
<kbd> может быть вложен в различные комбинации с элементом <samp> (Образец вывода) для представления различных форм ввода или вывода на основе визуальных подсказок.
Атрибуты
Этот элемент включает только глобальные атрибуты.
Примечания по использованию
Другие элементы могут использоваться совместно с <kbd> для представления более конкретных сценариев:
- Вложение элемента
<kbd>внутри другого элемента<kbd>представляет собой фактическую клавишу или другой элемент ввода как часть более крупного элемента ввода. См. Представление нажатий клавиш внутри элемента ввода ниже. - Вложение элемента
<kbd>внутри элемента<samp>представляет собой ввод, который был повторно отображён пользователю системой. См. Повторный ввод ниже для примера. - Вложение элемента
<samp>внутри элемента<kbd>, с другой стороны, представляет ввод, основанный на тексте, представленном системой, таком как имена меню и пунктов меню или имена кнопок, отображаемых на экране. См. пример в разделе Представление вариантов ввода на экране ниже.
Примечание: Вы можете определить пользовательский стиль для переопределения выбора шрифта по умолчанию браузера для элемента <kbd>, хотя предпочтения пользователя могут потенциально переопределить ваш CSS.
Примеры
Базовый пример
<p> Use the command <kbd>help mycommand</kbd> to view documentation for the command "mycommand". </p>
Результат
Представление нажатий клавиш внутри элемента ввода
Чтобы описать ввод, состоящий из нескольких нажатий клавиш, вы можете вложить несколько элементов <kbd>, при этом внешний элемент <kbd> представляет весь ввод, а каждая отдельная клавиша или компонент ввода заключён в свой собственный элемент <kbd>.
Без стилей
Сначала посмотрим, как это выглядит просто в HTML.
HTML
<p> You can also create a new document using the <kbd><kbd>Ctrl</kbd>+<kbd>N</kbd></kbd> keyboard shortcut. </p>
Это оборачивает всю последовательность нажатий клавиш во внешний элемент <kbd>, а затем каждую отдельную клавишу в свой собственный, в порядке обозначения компонентов последовательности.
Примечание: Вам не нужно делать всю эту обёртку; вы можете упростить её, убрав внешний элемент <kbd>. Другими словами, упрощение до простого <kbd>Ctrl</kbd>+<kbd>N</kbd> будет вполне допустимо.
Однако в зависимости от вашего стиля, вам может быть полезно сделать подобное вложение.
Результат
Вывод выглядит так без применённого стиля:
Со стилями
Мы можем сделать это более понятным, добавив немного CSS:
CSS
Мы добавляем новый селектор для вложенных элементов <kbd>, kbd>kbd, который мы можем применить при отображении клавиш клавиатуры:
kbd > kbd { border-radius: 3px; padding: 1px 2px 0; border: 1px solid black; }
HTML
Затем мы обновляем HTML, чтобы использовать этот класс для клавиш в выводе:
<p> You can also create a new document by pressing the <kbd><kbd>Ctrl</kbd>+<kbd>N</kbd></kbd> shortcut. </p>
Результат
Результат именно тот, что мы и хотим!
Повторный ввод
Вложение элемента <kbd> внутри элемента <samp> представляет ввод, который был повторно отображён пользователю системой.
<p> If a syntax error occurs, the tool will output the initial command you typed for your review: </p> <blockquote> <samp><kbd>custom-git ad my-new-file.cpp</kbd></samp> </blockquote>
Результат
Представление вариантов ввода на экране
Вложение элемента <samp> внутри элемента <kbd> представляет ввод, основанный на тексте, представленном системой, таком как имена меню и пунктов меню или имена кнопок, отображаемых на экране.
Например, вы можете объяснить, как выбрать опцию "Новый документ" в меню "Файл", используя HTML, который выглядит так:
<p> To create a new file, choose the <kbd><kbd><samp>File</samp></kbd> ⇒<kbd><samp>New Document</samp></kbd></kbd> menu option. </p> <p> Don't forget to click the <kbd><samp>OK</samp></kbd> button to confirm once you've entered the name of the new file. </p>
Это демонстрирует интересное вложение. Для описания пункта меню весь ввод заключён в элемент <kbd>. Затем внутри него и имя меню, и имя пункта меню заключены в <kbd> и <samp>, указывая на ввод, выбранный из элемента управления на экране.
Результат
Техническое описание
| Категории контента | Контент потока, фразовый контент, осязаемый контент. |
|---|---|
| Разрешённый контент | Фразовый контент. |
| Пропуск тега | Нет, обязательны как открывающий, так и закрывающий теги. |
| Разрешённые родительские элементы | Любой элемент, принимающий фразовый контент. |
| Неявная роль ARIA | Нет соответствующей роли |
| Разрешённые роли ARIA | Любые |
| Интерфейс DOM | HTMLElement |
Спецификации
| Спецификация |
|---|
| Стандарт HTML # the-kbd-element |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в IOS | Samsung Internet | WebView Android | |
kbd |
1 | 12 | 1До Firefox 4 создание элемента <kbd> приводило к ошибочному объектуHTMLSpanElement, а не к ожидаемому HTMLElement. |
15 | ≤4 | 18 | 4 | 14 | ≤3.2 | 1.0 | 4.4 |
См. также
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd