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 по-прежнему поддерживается.
--#{$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
$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 вы можете легко добавить и настроить этот элемент в своем проекте. Надеюсь, что данная статья поможет вам лучше понять механику кнопки закрытия и использовать ее с умом в ваших дизайнерских решениях.