Bootstrap Close button (кнопка закрытия)

Общая кнопка закрытия для закрытия содержимого, такого как модальные окна и предупреждения.

Введение

Кнопка закрытия (или кнопка “Close”) - это важный элемент интерфейса, который позволяет пользователям закрыть модальные окна, всплывающие окна, предупреждения и другие компоненты. В Bootstrap 5 кнопка закрытия имеет стандартный стиль, но ее можно легко настроить под свои нужды.

Основы

Кнопка закрытия в Bootstrap 5 обозначается классом .btn-close. Она может быть использована в различных ситуациях, например, для закрытия модальных окон или уведомлений.

Пример использования кнопки закрытия:

<button type="button" class="btn-close" aria-label="Закрыть"></button>
Результат:

Стиль данной кнопки по умолчанию ограничен, но легко настраивается. Измените переменные Sass, чтобы заменить стандартные background-image. Обязательно включите текст для программ чтения с экрана, как мы это делали с aria-label.

Отключенное состояние

Отключенные кнопки закрытия меняют свою прозрачность (opacity). К ним так же применяются стили pointer-events: none и user-select: none, чтобы предотвратить активацию кнопки в состоянии зависания или при активном клике.

Пример отключенной (неактивной) кнопки закрытия:

<button type="button" class="btn-close" disabled aria-label="Закрыть"></button>
Результат:

Темный вариант

Устарел в версии 5.3.0

Внимание! Начиная с версии 5.3.0, .btn-close-white класс устарел. Вместо этого используйте data-bs-theme="dark" для изменения цветового режима кнопки закрытия.

Добавьте data-bs-theme="dark" к .btn-close или к его родительскому элементу, чтобы инвертировать кнопку закрытия. При этом используется filter свойство для инвертирования background-image без переопределения его значения.

<div data-bs-theme="dark">
  <button type="button" class="btn-close" aria-label="Закрыть"></button>
  <button type="button" class="btn-close" disabled aria-label="Закрыть"></button>
</div>
Результат:

CSS

Переменные

Добавлено в версии 5.3.0

В рамках развивающегося подхода Bootstrap к CSS-переменным кнопка закрытия теперь использует локальные CSS-переменные на .btn-close для расширенной настройки в режиме реального времени. Значения для переменных CSS устанавливаются через Sass, поэтому настройка Sass по-прежнему поддерживается.

scss/_close.scss

--#{$prefix}btn-close-color: #{$btn-close-color};
--#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };
--#{$prefix}btn-close-opacity: #{$btn-close-opacity};
--#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};
--#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};
--#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};
--#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};
--#{$prefix}btn-close-white-filter: #{$btn-close-white-filter};

Переменные Sass

scss/_variables.scss

$btn-close-width:            1em;
$btn-close-height:           $btn-close-width;
$btn-close-padding-x:        .25em;
$btn-close-padding-y:        $btn-close-padding-x;
$btn-close-color:            $black;
$btn-close-bg:               url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>");
$btn-close-focus-shadow:     $focus-ring-box-shadow;
$btn-close-opacity:          .5;
$btn-close-hover-opacity:    .75;
$btn-close-focus-opacity:    1;
$btn-close-disabled-opacity: .25;
$btn-close-white-filter:     invert(1) grayscale(100%) brightness(200%);

FAQ (ответы на часто задаваемые вопросы)

Кнопка закрытия - это элемент интерфейса, позволяющий пользователям закрыть модальные окна, всплывающие окна и другие компоненты.

Просто добавьте следующий код в ваш HTML:

<button type="button" class="btn-close" aria-label="Закрыть"></button>

Добавьте атрибут disabled:

<button type="button" class="btn-close" disabled aria-label="Закрыть"></button>

Используйте атрибут data-bs-theme="dark":

<div data-bs-theme="dark">
  <button type="button" class="btn-close" aria-label="Закрыть"></button>
</div>

В Bootstrap 5.3.0 доступны следующие переменные:

$btn-close-width: 1em;
$btn-close-height: $btn-close-width;
// ... другие переменные ...

Добавьте атрибут aria-label с описанием:

<button type="button" class="btn-close" aria-label="Закрыть"></button>
Прозрачность меняется на .5, а при наведении - на .75.
Ширина и высота - 1em.
Измените значение переменной $btn-close-bg.
Кнопка закрытия может быть применена к модальным окнам, уведомлениям и другим интерфейсным элементам.

Заключение

Кнопка закрытия - это маленький, но важный элемент, который обеспечивает удобство пользователей при взаимодействии с веб-приложениями. С помощью Bootstrap 5 вы можете легко добавить и настроить этот элемент в своем проекте. Надеюсь, что данная статья поможет вам лучше понять механику кнопки закрытия и использовать ее с умом в ваших дизайнерских решениях.