Check the LexiconKeys
Pattern for a more
in-depth look at the motivations and proper usage of this component.
Base
The c-kbd component provides base size and spacing styles for the kbd HTML element.
1.5rem (24px) minimum width and 1.5rem (24px) tall kbd element with padding-left, padding-right, and border-width: 1px.
Esc,Ctrl,
Shift,Alt,⌘+Shift+P⌘P
Snippet
<kbdclassName="c-kbd">Esc</kbd>
<kbdclassName="c-kbd">Ctrl</kbd>
<kbdclassName="c-kbd">Shift</kbd>
<kbdclassName="c-kbd">Alt</kbd>
<!-- This formatting forces browser to render no white space -->
<kbdclassName="c-kbd">
<kbdclassName="c-kbd">⌘</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Shift</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">P</kbd>
</kbd>
<kbdclassName="c-kbd">
<kbdclassName="c-kbd">⌘</kbd><kbdclassName="c-kbd">P</kbd>
</kbd>
Nested C Kbd
Nest multiple .c-kbd elements inside a single .c-kbd element to describe a keyboard command comprising of multiple keys.
⌘+Shift+Y⌘P⌘+Shift+Y⌘P
Snippet
<!-- This formatting forces browser to render no white space -->
<kbdclassName="c-kbd">
<kbdclassName="c-kbd">⌘</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Shift</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Y</kbd>
</kbd>
<kbdclassName="c-kbd">
<kbdclassName="c-kbd">⌘</kbd><kbdclassName="c-kbd">P</kbd>
</kbd>
<kbdclassName="c-kbd c-kbd-inline">
<kbdclassName="c-kbd">⌘</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Shift</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Y</kbd>
</kbd>
<kbdclassName="c-kbd c-kbd-inline">
<kbdclassName="c-kbd">⌘</kbd><kbdclassName="c-kbd">P</kbd>
</kbd>
⌘+Shift+Y⌘+Shift+Y⌘P
Snippet
<kbdclassName="c-kbd">
<kbdclassName="c-kbd c-kbd-light">⌘</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-light">Shift</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-light">Y</kbd>
</kbd>
<!-- This formatting forces browser to render no white space -->
<kbdclassName="c-kbd c-kbd-light">
<kbdclassName="c-kbd">⌘</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Shift</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Y</kbd>
</kbd>
<kbdclassName="c-kbd c-kbd-dark">
<kbdclassName="c-kbd">⌘</kbd><kbdclassName="c-kbd">P</kbd>
</kbd>
C Kbd Monospaced
1.5rem (24px) minimum width and 1.5rem (24px) tall kbd element with no padding and border-width: 1px. This is generally used to display single characters.
⌘←↑→↓⇧⌥⮐⌘N
Snippet
<kbdclassName="c-kbd c-kbd-monospaced">⌘</kbd>
<kbdclassName="c-kbd c-kbd-monospaced">←</kbd>
<kbdclassName="c-kbd c-kbd-monospaced">↑</kbd>
<kbdclassName="c-kbd c-kbd-monospaced">→</kbd>
<kbdclassName="c-kbd c-kbd-monospaced">↓</kbd>
<kbdclassName="c-kbd c-kbd-monospaced">⇧</kbd>
<kbdclassName="c-kbd c-kbd-monospaced">⌥</kbd>
<!-- This formatting forces browser to render no white space -->
<kbdclassName="c-kbd c-kbd-monospaced">
<kbdclassName="c-kbd">⌘</kbd><kbdclassName="c-kbd">N</kbd>
</kbd>
C Kbd Inline
No minimum width or height kbd element with padding: 0 and border-width: 0. This is used to display keyboard shortcuts in small spaces such as dropdown-item.
The most robust markup to use is nested kbd elements:
<kbdclassName="c-kbd c-kbd-inline">
<kbdclassName="c-kbd">Esc</kbd>
</kbd>
<kbdclassName="c-kbd c-kbd-inline">Ctrl</kbd>
<!-- This formatting forces browser to render no white space -->
<kbdclassName="c-kbd c-kbd-inline">
<kbdclassName="c-kbd">⌘</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Shift</kbd><spanclassName="c-kbd-separator">+</span
><kbdclassName="c-kbd">Y</kbd>
</kbd>
<kbdclassName="c-kbd c-kbd-inline">
<kbdclassName="c-kbd">⌘</kbd><kbdclassName="c-kbd">P</kbd>
</kbd>
C Kbd Group
A container element for grouping text with several kbd elements together. This is also useful inside autofit-col if you don’t want several kbd elements to break to a new line.
PressEsc+Nto see an amazing effect.
Snippet
<spanclassName="c-kbd-group">
Press
<kbdclassName="c-kbd">
<kbdclassName="c-kbd">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd">N</kbd>
</kbd>
to see an amazing effect.
</span>
Color Variants
The color variants are modifier classes added to any of the base components listed above.
C Kbd Light
A color modifier on c-kbd to style the kbd element with dark text, light background and border.
A color modifier on c-kbd-group, for use with light backgrounds, that sets the text color to \$secondary. This can be used with c-kbd-light and c-kbd-dark.
PressEsc+Nto see an amazing effect.
PressEsc+Nto see an amazing effect.
Snippet
<spanclassName="c-kbd-group c-kbd-group-light">
Press
<kbdclassName="c-kbd">
<kbdclassName="c-kbd c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-light">N</kbd>
</kbd>
to see an amazing effect.
</span>
<spanclassName="c-kbd-group c-kbd-group-light">
Press
<kbdclassName="c-kbd">
<kbdclassName="c-kbd c-kbd-dark">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-dark">N</kbd>
</kbd>
to see an amazing effect.
</span>
C Kbd Group Dark
A color modifier on c-kbd-group, for use with dark backgrounds, that sets the text color to \$white. This can be used with c-kbd-light and c-kbd-dark.
PressEsc+Nto see an amazing effect.
PressEsc+Nto see an amazing effect.
Snippet
<spanclassName="c-kbd-group c-kbd-group-dark">
Press
<kbdclassName="c-kbd">
<kbdclassName="c-kbd c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-light">N</kbd>
</kbd>
to see an amazing effect.
</span>
<spanclassName="c-kbd-group c-kbd-group-dark">
Press
<kbdclassName="c-kbd">
<kbdclassName="c-kbd c-kbd-dark">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-dark">N</kbd>
</kbd>
to see an amazing effect.
</span>
Size Variants
Size variants are modifier classes added to the base component to change the font size.
C Kbd Sm
c-kbd-sm and c-kbd-group-sm are size modifiers that sets font-size: 0.75rem (12px).
Esc+N
Esc+N
PressEsc+Nto see an amazing effect.
PressEsc+Nto see an amazing effect.
Snippet
<kbdclassName="c-kbd c-kbd-sm c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator c-kbd-sm">+</span>
<kbdclassName="c-kbd c-kbd-sm c-kbd-monospaced c-kbd-light">N</kbd>
<kbdclassName="c-kbd c-kbd-sm">
<kbdclassName="c-kbd c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-light">N</kbd>
</kbd>
<spanclassName="c-kbd-group c-kbd-group-sm c-kbd-group-light">
Press
<kbdclassName="c-kbd">
<kbdclassName="c-kbd c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-light">N</kbd>
</kbd>
to see an amazing effect.
</span>
<spanclassName="c-kbd-group c-kbd-group-sm c-kbd-group-light">
Press
<kbdclassName="c-kbd c-kbd-lg">
<kbdclassName="c-kbd c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-light">N</kbd>
</kbd>
to see an amazing effect.
</span>
C Kbd Lg
c-kbd-lg and c-kbd-group-lg are size modifiers that sets font-size: 1rem (16px).
Esc+N
Esc+N
PressEsc+Nto see an amazing effect.
PressEsc+Nto see an amazing effect.
Snippet
<kbdclassName="c-kbd c-kbd-lg c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator c-kbd-lg">+</span>
<kbdclassName="c-kbd c-kbd-lg c-kbd-monospaced c-kbd-light">N</kbd>
<kbdclassName="c-kbd c-kbd-lg">
<kbdclassName="c-kbd c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-light">N</kbd>
</kbd>
<spanclassName="c-kbd-group c-kbd-group-lg c-kbd-group-light">
Press
<kbdclassName="c-kbd">
<kbdclassName="c-kbd c-kbd-light">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-light">N</kbd>
</kbd>
to see an amazing effect.
</span>
<spanclassName="c-kbd-group c-kbd-group-lg c-kbd-group-light">
Press
<kbdclassName="c-kbd c-kbd-sm">
<kbdclassName="c-kbd c-kbd-dark">Esc</kbd>
<spanclassName="c-kbd-separator">+</span>
<kbdclassName="c-kbd c-kbd-monospaced c-kbd-dark">N</kbd>
</kbd>
to see an amazing effect.
</span>