К содержанию

Навигация

Бейджи

Бейдж показывает короткий статус, категорию или счётчик рядом с объектом. Он дополняет основное содержимое и не заменяет кнопку, фильтр или уведомление; для статуса без текста подходит точка состояния.

Пример

Отчёт за квартал Черновик

Разметка

Минимальную разметку показывает пример выше. Части вложены так: sf-badge → sf-badge-text-container → sf-badge-text; иконка — sf-icon в sf-badge-icon-container.

  • На блоке sf-badge — один класс вида, один класс цвета и размер. Без классов вида и цвета бейдж залит вспомогательным цветом текста, без размера берёт ступень 1/3.
  • Текст — в sf-badge-text: он не переносится и обрезается многоточием, если бейджу не хватает места.
  • Иконка необязательна и ставится до или после текста.

Варианты

Вид

Вид задаёт выраженность: sf-badge--main — сплошная заливка, самый заметный акцент; sf-badge--tonal — спокойная тональная заливка; sf-badge--outline — только граница. Вид меняет вес бейджа, а не смысл.

Основной sf-badge--main
Тональный sf-badge--tonal
Контурный sf-badge--outline

Цвет

Цвет берётся из ролей темы: sf-badge--neutral, sf-badge--primary, sf-badge--secondary, sf-badge--tertiary, sf-badge--on-surface и статусы sf-badge--info, sf-badge--success, sf-badge--warning, sf-badge--error. Статус выбирайте по смыслу, а не по желаемому цвету. У on-surface нет тонального вида. sf-badge--danger — другое имя error.

Черновик Черновик Черновик sf-badge--neutral
Новое Новое Новое sf-badge--primary
Бета Бета Бета sf-badge--secondary
Акция Акция Акция sf-badge--tertiary
PHP 8.2 PHP 8.2 sf-badge--on-surface
Справка Справка Справка sf-badge--info
Готово Готово Готово sf-badge--success
Проверка Проверка Проверка sf-badge--warning
Ошибка Ошибка Ошибка sf-badge--error

Размер

Три ступени — sf-badge--size-1/3, sf-badge--size-1/2 и sf-badge--size-1 — меняют кегль, отступы и иконку вместе. Берите ступень окружающих элементов управления.

Черновик sf-badge--size-1/3
Черновик sf-badge--size-1/2
Черновик sf-badge--size-1

В строке текста

Классы sf-badge--line-1/2, sf-badge--line-1 и sf-badge--line-2 ставят бейдж в строку текста той же ступени: бейдж получает высоту строки, а надпись — кегль на ступень меньше и не добавляет вертикальных отступов. Так строка таблицы или ряд полей сохраняет свою высоту.

Заказ № 1042

Оплачен sf-badge--line-1/2 рядом с text-1/2

Заказ № 1042

Оплачен sf-badge--line-1 рядом с text-1

Заказ № 1042

Оплачен sf-badge--line-2 рядом с text-2

Иконки

Иконка в sf-badge-icon-container стоит в логическом начале или конце бейджа и берёт цвет и размер бейджа. Бейдж из одной иконки и сокращённый счётчик получают полный текст в sr-only.

Проверено иконка в начале
Справка иконка в конце
Подтверждено только иконка и sr-only
Больше девяноста девяти непрочитанных сообщений счётчик и sr-only

Доступность

  • Бейдж — неинтерактивный текст: он не получает фокус и не имеет роли.
  • Смысл передаёт текст; цвет его только поддерживает.
  • Декоративную иконку скрывайте через aria-hidden="true". У бейджа из одной иконки или сокращения вроде «99+» полный текст лежит в sr-only, а видимая часть скрыта от экранного диктора.
  • Счётчику нужен контекст: «3 новых сообщения», а не «3». Задайте его соседним текстом или через sr-only.
  • Если значение меняется на глазах у пользователя, объявление задаёт окружающая область с aria-live или role="status".

Классы

Что Классы
Блок sf-badge
Части sf-badge-icon-container, sf-badge-text, sf-badge-text-container
Модификаторы sf-badge--error, sf-badge--info, sf-badge--line-1, sf-badge--line-1/2, sf-badge--line-2, sf-badge--main, sf-badge--neutral, sf-badge--on-surface, sf-badge--outline, sf-badge--primary, sf-badge--secondary, sf-badge--success, sf-badge--tertiary, sf-badge--tonal, sf-badge--warning
Размеры sf-badge--size-1, sf-badge--size-1/2, sf-badge--size-1/3
Устаревшие sf-badge--danger → sf-badge--error

Классы и переменные собраны из CSS выпуска и обновляются вместе с ним.

Переменные

Настройка

Эти переменные — поверхность настройки компонента. Их имена стабильны: переименовать или убрать такую переменную можно только через журнал изменений, с предупреждением, как атрибут. Framework их не задаёт, поэтому значение можно поставить на сам компонент (.sf-badge) или на любого предка. Переменные действуют на спокойный вид; наведение, фокус, нажатие, недоступность и ошибка рисуются поверх, поэтому состояния остаются видны.

Переменная Что задаёт По умолчанию
--sf-badge-background-color Заливка бейджа. var(--sf-on-surface-variant); зависит от вида, схемы, статуса
--sf-badge-color Цвет текста и иконки. var(--sf-on-surface-inverse); зависит от вида, схемы, статуса
--sf-badge-border-color Цвет рамки; виден при ненулевой ширине рамки. transparent; зависит от вида, схемы, статуса
--sf-badge-border-width Ширина рамки со всех сторон. 0; зависит от вида
--sf-badge-radius Скругление углов. var(--sf-radius-circle)
--sf-badge-padding-inline Отступ до и после текста по строчной оси. var(--sf-ui-1/3--text-space-x); зависит от размера
--sf-badge-padding-block Отступ над и под текстом. var(--sf-ui-1/3--space-y-tightness-low); зависит от размера
--sf-badge-gap Промежуток между иконкой и текстом. var(--sf-space-1/4)
CSS
.sf-badge {
  --sf-badge-radius: 0;
}

Устройство

Остальные переменные — внутренняя проводка компонента: модификаторы задают им значения, а части их читают. Их имена и устройство могут меняться в любом выпуске, поэтому проект их не задаёт. Значение по умолчанию — из базового правила блока (.sf-badge); переменную без него задают только модификаторы.

Переменная По умолчанию Задаёт
--sf-badge--background-color var(--sf-badge-background-color, var(--sf-on-surface-variant)) background-color
--sf-badge--border-bottom-width var(--sf-badge-border-width, 0) border-bottom-width
--sf-badge--border-color var(--sf-badge-border-color, transparent) border-color
--sf-badge--border-inline-end-width var(--sf-badge-border-width, 0) border-inline-end-width
--sf-badge--border-inline-start-width var(--sf-badge-border-width, 0) border-inline-start-width
--sf-badge--border-style не задана; задают модификаторы, например .sf-badge--outline: solid border-style
--sf-badge--border-top-width var(--sf-badge-border-width, 0) border-top-width
--sf-badge--color var(--sf-badge-color, var(--sf-on-surface-inverse)) color, --sf-icon--color, --sf-badge-text--color
--sf-badge--font-size var(--sf-text-size-1/3) font-size, --sf-icon--font-size, --sf-badge-text--font-size
--sf-badge--gap var(--sf-badge-gap, var(--sf-space-1/4)) gap
--sf-badge--line-height var(--sf-text-height-1/3) line-height, --sf-badge--min-size, --sf-badge-text--line-height
--sf-badge--min-size calc(var(--sf-badge--line-height) + 2 * var(--sf-badge--padding-block)) min-height, min-block-size, min-width, min-inline-size
--sf-badge--padding-block var(--sf-badge-padding-block, var(--sf-ui-1/3--space-y-tightness-low)) padding-top, padding-bottom, padding-block, --sf-badge--min-size
--sf-badge--padding-inline-end var(--sf-badge-padding-inline, var(--sf-ui-1/3--text-space-x)) padding-inline-end
--sf-badge--padding-inline-start var(--sf-badge-padding-inline, var(--sf-ui-1/3--text-space-x)) padding-inline-start
--sf-badge-text--color не задана; задают модификаторы, например .sf-badge.sf-badge--tonal .sf-badge-text: var(--sf-badge-color, var(--sf-badge--color)) color
--sf-badge-text--font-size не задана; задают модификаторы, например .sf-badge--size-1 .sf-badge-text: var(--sf-badge--font-size) font-size
--sf-badge-text--line-height не задана; задают модификаторы, например .sf-badge--size-1 .sf-badge-text: var(--sf-badge--line-height) line-height

См. также

Поиск по документации

Введите минимум 2 символа

    Настройки

    Тема
    Размер шрифта
    Ширина страницы