Перейти к основному содержанию

Спиннеры (spinners)

Укажите состояние загрузки компонента или страницы с помощью счетчиков Bootstrap, полностью построенных с использованием HTML, CSS и без JavaScript.

Содержание

Что это

«Спиннеры» начальной загрузки можно использовать для отображения состояния загрузки в ваших проектах. Они созданы только с помощью HTML и CSS, а это значит, что вам не нужен JavaScript для их создания. Однако вам понадобится специальный JavaScript, чтобы переключить их видимость. Их внешний вид, расположение и размер можно легко настроить с помощью наших замечательных служебных классов.

Для удобства здесь каждый загрузчик включает role="status" вложенный файл <span class="visually-hidden">Loading...</span>.

Border spinner

Используйте бордюрные прядильщики для легкого индикатора загрузки.

Loading...
<div class="spinner-border" role="status">
  <span class="sr-only">Loading...</span>
</div>

Цвета

Граница вертушка использует currentColor для своего border-color, то есть вы можете настроить цвет с цветным текстом утилитами. Вы можете использовать любую из наших утилит цвета текста на стандартном счетчике.

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
<div class="spinner-border text-primary" role="status">
  <span class="sr-only">Loading...</span>
</div>
<div class="spinner-border text-secondary" role="status">
  <span class="sr-only">Loading...</span>
</div>
<div class="spinner-border text-success" role="status">
  <span class="sr-only">Loading...</span>
</div>
<div class="spinner-border text-danger" role="status">
  <span class="sr-only">Loading...</span>
</div>
<div class="spinner-border text-warning" role="status">
  <span class="sr-only">Loading...</span>
</div>
<div class="spinner-border text-info" role="status">
  <span class="sr-only">Loading...</span>
</div>
<div class="spinner-border text-light" role="status">
  <span class="sr-only">Loading...</span>
</div>
<div class="spinner-border text-dark" role="status">
  <span class="sr-only">Loading...</span>
</div>
Почему бы не использовать border-color утилиты? Каждый счетчик границ определяет transparent границу по крайней мере для одной стороны, поэтому .border-{ color } утилиты переопределят это.

Растущий спиннер

Если вам не нравится прядильщик бордюров, переключитесь на прядильщик роста. Хотя технически он не вращается, он постоянно растет!

Загружается ...
<div class="spinner-grow" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Опять же, этот счетчик построен с помощью currentColor, поэтому вы можете легко изменить его внешний вид с помощью утилит для настройки цвета текста . Здесь он выделен синим цветом вместе с поддерживаемыми вариантами.

Загружается ...
Загружается ...
Загружается ...
Загружается ...
Загружается ...
Загружается ...
Загружается ...
Загружается ...
<div class="spinner-grow text-primary" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-secondary" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-success" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-danger" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-warning" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-info" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-light" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-dark" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Выравнивание

Спиннеры в Bootstrap создаются с помощью rem, currentColor и display: inline-flex. Это означает, что их можно легко изменить размер, перекрасить и быстро выровнять.

Margin

Используйте утилиты .m-5 для полей, например, для удобного размещения.

Загружается ...
<div class="spinner-border m-5" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Размещение

Используйте Flexbox утилиты , float утилиты или текст выравнивания утилиты на место блесен именно там , где вам нужно их в любой ситуации.

Flex

Загружается ...
<div class="d-flex justify-content-center">
  <div class="spinner-border" role="status">
    <span class="visually-hidden">Loading...</span>
  </div>
</div>
Загружается ...
<div class="d-flex align-items-center">
  <strong>Loading...</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="visually-hidden">Loading...</span>
  </div>
</div>

Выравнивание текста

Загружается ...
<div class="text-center">
  <div class="spinner-border" role="status">
    <span class="visually-hidden">Loading...</span>
  </div>
</div>

Размер

Добавьте .spinner-border-sm и .spinner-grow-sm, чтобы получить счетчик меньшего размера, который можно быстро использовать в других компонентах.

Загружается ...
Загружается ...
<div class="spinner-border spinner-border-sm" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow spinner-grow-sm" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Или используйте собственный CSS или встроенные стили, чтобы изменить размеры по мере необходимости.

Загружается ...
Загружается ...
<div class="spinner-border" style="width: 3rem; height: 3rem;" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow" style="width: 3rem; height: 3rem;" role="status">
  <span class="visually-hidden">Loading...</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="visually-hidden">Loading...</span>
</button>
<button class="btn btn-primary" type="button" disabled>
  <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
  Loading...
</button>
<button class="btn btn-primary" type="button" disabled>
  <span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
  <span class="visually-hidden">Loading...</span>
</button>
<button class="btn btn-primary" type="button" disabled>
  <span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
  Loading...
</button>