Spec-Zone.ru › HTML

<kbd> Элемент ввода с клавиатуры в HTML

Baseline Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Подробнее
  • Полная информация о совместимости
  • Оставить отзыв
>

Элемент <kbd> HTML представляет собой фрагмент встроенного текста, обозначающий текстовый ввод пользователя с клавиатуры, голосовой ввод или ввод с помощью любого другого устройства. По соглашению пользовательский агент по умолчанию отображает содержимое элемента <kbd> своим стандартным моноширинным шрифтом, хотя стандарт HTML этого не требует.

Попробуйте

<p>
  Please press <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>R</kbd> to re-render an
  MDN page.
</p>
kbd {
  background-color: #eeeeee;
  border-radius: 3px;
  border: 1px solid #b4b4b4;
  box-shadow:
    0 1px 1px rgb(0 0 0 / 0.2),
    0 2px 0 0 rgb(255 255 255 / 0.7) inset;
  color: #333333;
  display: inline-block;
  font-size: 0.85em;
  font-weight: bold;
  line-height: 1;
  padding: 2px 4px;
  white-space: nowrap;
}

Элементы <kbd> можно вкладывать друг в друга в различных сочетаниях с элементом <samp> (образец вывода), чтобы с помощью визуальных подсказок представить различные формы ввода или вывода.

Атрибуты

Этот элемент включает только глобальные атрибуты.

Примечания по использованию

Вместе с <kbd> можно использовать другие элементы, чтобы представить более конкретные сценарии:

  • Вложение элемента <kbd> в другой элемент <kbd> обозначает отдельную клавишу или другую единицу ввода как часть более крупного ввода. См. раздел Представление нажатий клавиш в составе ввода ниже.
  • Вложение элемента <kbd> в элемент <samp> обозначает ввод, который система отобразила обратно пользователю. Пример см. в разделе Отображение введённых данных ниже.
  • С другой стороны, вложение элемента <samp> в элемент <kbd> обозначает ввод, основанный на тексте, представленном системой, например названиях меню и пунктов меню или кнопок на экране. См. пример в разделе Представление вариантов ввода на экране ниже.

Примечание: Для элемента <kbd> можно задать собственный стиль, переопределяющий выбор шрифта браузером по умолчанию, однако предпочтения пользователя могут переопределить ваши CSS-правила.

Примеры

>

Базовый пример

<p>
  Use the command <kbd>help my-command</kbd> to view documentation for the
  command "my-command".
</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 WebView в iOS
kbd 1 12
1До Firefox 4 создание элемента <kbd> ошибочно приводило к созданию объекта HTMLSpanElement вместо ожидаемого HTMLElement.
15 ≤4 18 4 14 ≤3.2 1.0 4.4 ≤3.2

См. также

  • <code>

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/kbd

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API