Спиннеры
Укажите состояние загрузки компонента или страницы с помощью спиннеров Bootstrap, созданных полностью с использованием HTML, CSS и без JavaScript.
Обзор
"Спиннеры" Bootstrap можно использовать для отображения состояния загрузки в ваших проектах. Они построены только с использованием HTML и CSS, поэтому вам не нужен JavaScript. Вам, однако, понадобится использовать некоторые пользовательские парамеры JavaScript для переключения их отображения. Внешний вид, выравнивание и размеры можно легко настроить с помощью наших служебных классов.
В целях доступности каждый загрузчик содержит role="status"
и вложенный <span class="sr-only">Loading...</span>
.
Граница спиннера
Используйте ограничители границы для отображения легкого индикатора загрузки.
<div class="spinner-border" role="status">
<span class="sr-only">Загрузка...</span>
</div>
Цвета
Граница спиннера использует параметр currentColor
для указания цвета рамки, что означает, что вы можете настроить цвет с помощью текстовых утилит цвета. Вы можете использовать любую из наших утилит цвета текста на стандартном спиннере.
<div class="spinner-border text-primary" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-border text-secondary" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-border text-success" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-border text-danger" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-border text-warning" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-border text-info" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-border text-light" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-border text-dark" role="status">
<span class="sr-only">Загрузка...</span>
</div>
Почему бы не использовать утилиты border-color
? Каждый спиннер границы определяет прозрачную transparent
границу как минимум для одной стороны, поэтому утилиты .border-{color}
переопределяют это значение.
Увеличивающийся спиннер
Если вам не нравится спиннер с границами, используйте растущий спиннер. Хотя технически он не вращается, он постоянно растет!
<div class="spinner-grow" role="status">
<span class="sr-only">Загрузка...</span>
</div>
Повторим, этот счетчик построен с currentColor, так что вы можете легко изменить его внешний вид с помощью утилит цвета текста. Здесь представлены различные варианты поддерживаемых вариантов цветов.
<div class="spinner-grow text-primary" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow text-secondary" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow text-success" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow text-danger" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow text-warning" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow text-info" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow text-light" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow text-dark" role="status">
<span class="sr-only">Загрузка...</span>
</div>
Центровка
Спиннеры в Bootstrap построены с помощью rem
, currentColor
и display: inline-flex
. Это означает, что их можно легко изменить, перекрасить и быстро выровнять.
Отступы
Используйте утилиты отступа, такие как .m-5
, чтобы упростить интервалы.
<div class="spinner-border m-5" role="status">
<span class="sr-only">Загрузка...</span>
</div>
Размещение
Используйте утилиты flexbox, плавающие утилиты или утилиты выравнивания текста, чтобы размещать спиннеры именно там, где они вам будут нужны.
Flex
<div class="d-flex justify-content-center">
<div class="spinner-border" role="status">
<span class="sr-only">Загрузка...</span>
</div>
</div>
<div class="d-flex align-items-center">
<strong>Загрузка...</strong>
<div class="spinner-border ml-auto" role="status" aria-hidden="true"></div>
</div>
Floats
<div class="clearfix">
<div class="spinner-border float-right" role="status">
<span class="sr-only">Загрузка...</span>
</div>
</div>
Выравнивание текста
<div class="text-center">
<div class="spinner-border" role="status">
<span class="sr-only">Загрузка...</span>
</div>
</div>
Размер
Добавьте .spinner-border-sm
и .spinner-grow-sm
, чтобы получить меньший размер спиннера, который можно быстро использовать в других компонентах.
<div class="spinner-border spinner-border-sm" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow spinner-grow-sm" role="status">
<span class="sr-only">Загрузка...</span>
</div>
Или используйте пользовательские CSS или встроенные стили для изменения размеров по мере необходимости.
<div class="spinner-border" style="width: 3rem; height: 3rem;" role="status">
<span class="sr-only">Загрузка...</span>
</div>
<div class="spinner-grow" style="width: 3rem; height: 3rem;" role="status">
<span class="sr-only">Загрузка...</span>
</div>
Кнопки
Используйте счетчики внутри кнопок, чтобы указать что действие в данный момент обрабатывается или выполняется. Вы также можете поменять местами текст из вращающегося элемента и использовать текст кнопки по мере необходимости.
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
<span class="sr-only">Загрузка...</span>
</button>
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
Загрузка...
</button>
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
<span class="sr-only">Загрузка...</span>
</button>
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
Загрузка...
</button>