Menu
Coddy logo textTech

Бейджи

Часть раздела Practical Frontend путешествия по HTML на Coddy — урок 22 из 35.

Бэйджи — это крошечные индикаторы, используемые для отображения количества или статуса рядом с другим элементом. Пример: красный кружок с числом, показывающий непрочитанные сообщения. Они часто прикрепляются к кнопкам, иконкам или изображениям профиля.

Почему они важны:

  • Они делают важную информацию (например, уведомления) быстро заметной.
  • Обычно используются в приложениях, социальных сетях и на сайтах электронной коммерции

Давайте создадим простой бейдж:

Сначала создайте базовый HTML-элемент для размещения вашего значка:

<button class="btn">
  Messages <span class="badge">5</span>
</button>

Далее добавьте немного базового CSS для стилизации значка:

.btn {
  position: relative;
  padding: 10px 20px;
  font-size: 16px;
}

.badge {
  position: absolute;
  top: -5px;
  right: -10px;
  background: red;
  color: white;
  border-radius: 50%;
  padding: 4px 8px;
  font-size: 12px;
}

Благодаря этому бейдж располагается в углу кнопки, отображая количество сообщений.

challenge icon

Задание

Легко

Вам дан HTML-код с несколькими кнопками. Ваша задача — создать бейджи, которые появляются в верхнем правом углу каждой кнопки, используя только CSS. Ваша задача:

  1. Установите позиционирование бейджа: Используйте position: absolute, чтобы его можно было расположить относительно кнопки.
  2. Разместите его в верхнем правом углу: Используйте отрицательные значения для top и right.
  3. Настройте цвета и текст: Используйте красный фон и белый текст.
  4. Настройте шрифт и внутренние отступы: Установите font-size: 12px; font-weight: bold; padding: 4px 7px;.
  5. Сделайте его круглым и добавьте глубины: Используйте border-radius и небольшую тень (box-shadow: 0 2px 4px rgba(0,0,0,0.2)).

Шпаргалка

Баджи (или значки) — это крошечные индикаторы, используемые для отображения количества или статуса рядом с другим элементом, обычно прикрепляемые к кнопкам, иконкам или изображениям профиля.

Базовая структура HTML:

<button class="btn">
  Messages <span class="badge">5</span>
</button>

CSS-стили для баджей:

.btn {
  position: relative;
  padding: 10px 20px;
  font-size: 16px;
}

.badge {
  position: absolute;
  top: -5px;
  right: -10px;
  background: red;
  color: white;
  border-radius: 50%;
  padding: 4px 8px;
  font-size: 12px;
}

Ключевые свойства:

  • position: absolute — позволяет точно позиционировать элемент относительно родителя
  • Отрицательные значения top и right — позиционируют бадж за пределами родительского элемента
  • border-radius: 50% — создает круглую форму
  • box-shadow — добавляет глубину и визуальное разделение

Попробуйте сами

<!DOCTYPE html>
<html>
<head>
  <title>Badges</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 40px;
      background-color: #f5f5f5;
      display: flex;
      gap: 20px;
    }

    .button {
      position: relative; /* needed for badge positioning */
      padding: 12px 25px;
      font-size: 16px;
      border: none;
      border-radius: 8px;
      background-color: #4cafef;
      color: white;
      cursor: pointer;
    }

    .button:hover {
      background-color: #3a92d8;
    }

    .badge {
      
    }
  </style>
</head>
<body>

  <button class="button">
    Messages
    <span class="badge">5</span>
  </button>

  <button class="button">
    Notifications
    <span class="badge">!</span>
  </button>

  <button class="button">
    Cart
    <span class="badge">3</span>
  </button>

</body>
</html>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Practical Frontend