Спиннеры

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

Обзор

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

В целях доступности каждый загрузчик содержит role="status" и вложенный <span class="sr-only">Loading...</span>.

Граница спиннера

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

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

Цвета

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

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
<divclass="spinner-border text-primary"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-border text-secondary"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-border text-success"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-border text-danger"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-border text-warning"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-border text-info"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-border text-light"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-border text-dark"role="status"><spanclass="sr-only">Loading...</span></div>

Почему бы не использовать утилиты border-color? Каждый спиннер границы определяет прозрачную transparent границу как минимум для одной стороны, поэтому утилиты .border-{color} переопределяют это значение.

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

Если вам не нравится спиннер с границами, используйте растущий спиннер. Хотя технически он не вращается, он постоянно растет!

Loading...
<divclass="spinner-grow"role="status"><spanclass="sr-only">Loading...</span></div>

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

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
<divclass="spinner-grow text-primary"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow text-secondary"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow text-success"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow text-danger"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow text-warning"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow text-info"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow text-light"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow text-dark"role="status"><spanclass="sr-only">Loading...</span></div>

Центровка

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

Отступы

Используйте утилиты отступа, такие как .m-5 для простоты.

Loading...
<divclass="spinner-border m-5"role="status"><spanclass="sr-only">Loading...</span></div>

Размещение

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

Flex

Loading...
<divclass="d-flex justify-content-center"><divclass="spinner-border"role="status"><spanclass="sr-only">Loading...</span></div></div>
Loading...
<divclass="d-flex align-items-center"><strong>Loading...</strong><divclass="spinner-border ml-auto"role="status"aria-hidden="true"></div></div>

Floats

Loading...
<divclass="clearfix"><divclass="spinner-border float-right"role="status"><spanclass="sr-only">Loading...</span></div></div>

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

Loading...
<divclass="text-center"><divclass="spinner-border"role="status"><spanclass="sr-only">Loading...</span></div></div>

Размер

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

Loading...
Loading...
<divclass="spinner-border spinner-border-sm"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow spinner-grow-sm"role="status"><spanclass="sr-only">Loading...</span></div>

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

Loading...
Loading...
<divclass="spinner-border"style="width: 3rem; height: 3rem;"role="status"><spanclass="sr-only">Loading...</span></div><divclass="spinner-grow"style="width: 3rem; height: 3rem;"role="status"><spanclass="sr-only">Loading...</span></div>

Кнопки

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

<buttonclass="btn btn-primary"type="button"disabled><spanclass="spinner-border spinner-border-sm"role="status"aria-hidden="true"></span><spanclass="sr-only">Loading...</span></button><buttonclass="btn btn-primary"type="button"disabled><spanclass="spinner-border spinner-border-sm"role="status"aria-hidden="true"></span> Loading...
</button>
<buttonclass="btn btn-primary"type="button"disabled><spanclass="spinner-grow spinner-grow-sm"role="status"aria-hidden="true"></span><spanclass="sr-only">Loading...</span></button><buttonclass="btn btn-primary"type="button"disabled><spanclass="spinner-grow spinner-grow-sm"role="status"aria-hidden="true"></span> Loading...
</button>