Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Уведомления, сообщения, метки, прогресс

Четыре элемента этого урока сообщают пользователю о чём-то: «бронь подтверждена», «осталось 3 места», «загружено 60%». Notification — цветная плашка с текстом, message — плашка с заголовком, tag — маленькая метка, progress — полоса прогресса. Все принимают те же цветовые модификаторы, что и кнопки.

Уведомление

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.4/css/bulma.min.css">
 
<div class="notification is-success is-light">
  <button class="delete" aria-label="Закрыть"></button>
  Стол на 4 гостей забронирован на пятницу, 19:00.
</div>

Светло-зелёная плашка с текстом и серым крестиком в правом верхнем углу. Без is-light фон будет насыщенным зелёным, а цвет текста Bulma подберёт сама.

Крестик сам ничего не закрывает — нужен обработчик:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.4/css/bulma.min.css">
 
<div class="notification is-warning">
  <button class="delete" aria-label="Закрыть"></button>
  Кухня закрывается через 30 минут.
</div>
 
<script>
  document.querySelectorAll('.notification .delete').forEach((button) => {
    button.addEventListener('click', () => button.parentElement.remove());
  });
</script>

Нажмите на крестик — жёлтая плашка исчезнет: скрипт удаляет родителя кнопки, то есть само уведомление.

Сообщение

message — блок с цветным заголовком message-header и телом message-body. Он подходит для пояснений, которые должны остаться на странице:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.4/css/bulma.min.css">
 
<article class="message is-info">
  <div class="message-header">
    <p>Аллергены</p>
  </div>
  <div class="message-body">
    Блюда с орехами отмечены в меню. Сообщите официанту, если у вас аллергия.
  </div>
</article>

Синий заголовок и светло-голубое тело с тёмным текстом. Заголовок можно опустить — останется только тело с цветной полосой слева.

Метки

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.4/css/bulma.min.css">
 
<div class="tags">
  <span class="tag is-success">Вегетарианское</span>
  <span class="tag is-danger is-light">Острое</span>
  <span class="tag is-warning is-rounded">Новинка</span>
</div>
 
<div class="tags has-addons">
  <span class="tag is-dark">Статус</span>
  <span class="tag is-info">Готовится</span>
</div>

Первая строка — три метки разного цвета с промежутками: обёртка tags выстраивает их в ряд. Вторая — две метки, склеенные в одну «Статус | Готовится». Так в таблице заказов показывают статус. Модификаторы is-medium и is-large увеличивают метку, а <button class="delete is-small"> внутри неё добавляет крестик.

Прогресс

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.4/css/bulma.min.css">
 
<progress class="progress is-primary" value="60" max="100">60%</progress>
<progress class="progress is-small is-info" max="100">Загрузка</progress>

Первая полоса заполнена на 60%. У второй нет атрибута value, и по ней бежит анимация — так показывают загрузку, длительность которой неизвестна. Текст внутри тега видят только старые браузеры и программы чтения с экрана.

Частая ошибка

Использовать notification для подсказки, которая должна быть видна всегда, и давать ей крестик. Гость закроет плашку и потеряет важную информацию. Для временных сообщений берите notification с кнопкой delete, для постоянных пояснений — message без неё.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.