1111
Перейти к основному содержаниюПерейти к навигации по документам
Check
Cмотреть на GitHub

Прогрессбар

Документация и примеры использования настраиваемых индикаторов выполнения Bootstrap с поддержкой составных полос, анимированных фонов и текстовых меток.

На этой странице

Как это устроено

Компоненты Progress состоят из двух HTML-элементов, CSS для установки ширины и нескольких атрибутов. Мы не используем элемент HTML5 <progress>, гарантируя, что Вы можете складывать индикаторы выполнения, анимировать их, и поместите на них текстовые метки.

  • Мы используем .progress как оболочку, чтобы указать максимальное значение индикатора выполнения.
  • Мы используем внутренний .progress-bar, чтобы указать прогресс на данный момент.
  • Для .progress-bar требуется встроенный стиль, служебный класс или пользовательский CSS для установки их ширины.
  • .progress-bar также требует некоторых атрибутов role и aria, чтобы сделать его доступным, включая доступное имя (используя aria-label, aria-labelledby или подобное).

Сложите все это вместе, и вы получите следующие примеры.

html
<divclass="progress"><divclass="progress-bar"role="progressbar"aria-label="Базовый пример"aria-valuenow="0"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar"role="progressbar"style="width: 25%"aria-label="Базовый пример"aria-valuenow="25"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar"role="progressbar"style="width: 50%"aria-label="Базовый пример"aria-valuenow="50"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar"role="progressbar"style="width: 75%"aria-label="Базовый пример"aria-valuenow="75"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar"role="progressbar"style="width: 100%"aria-label="Базовый пример"aria-valuenow="100"aria-valuemin="0"aria-valuemax="100"></div></div>

Bootstrap предоставляет несколько утилит для установки ширины. В зависимости от Ваших потребностей они могут помочь в быстрой настройке хода выполнения.

html
<divclass="progress"><divclass="progress-bar w-75"role="progressbar"aria-label="Базовый пример"aria-valuenow="75"aria-valuemin="0"aria-valuemax="100"></div></div>

Метки

Добавляйте метки к индикаторам выполнения, помещая текст в .progress-bar.

25%
html
<divclass="progress"><divclass="progress-bar"role="progressbar"aria-label="Пример с меткой"style="width: 25%;"aria-valuenow="25"aria-valuemin="0"aria-valuemax="100">25%</div></div>

Высота

Мы устанавливаем значение height только для .progress, поэтому, если Вы измените это значение, внутренний .progress-bar автоматически изменит размер соответственно.

html
<divclass="progress"style="height: 1px;"><divclass="progress-bar"role="progressbar"aria-label="Пример высоты 1пиксель"style="width: 25%;"aria-valuenow="25"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"style="height: 20px;"><divclass="progress-bar"role="progressbar"aria-label="Пример высоты 20пикселей"style="width: 25%;"aria-valuenow="25"aria-valuemin="0"aria-valuemax="100"></div></div>

Фон

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

html
<divclass="progress"><divclass="progress-bar bg-success"role="progressbar"aria-label="Success example"style="width: 25%"aria-valuenow="25"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar bg-info"role="progressbar"aria-label="Info example"style="width: 50%"aria-valuenow="50"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar bg-warning"role="progressbar"aria-label="Warning example"style="width: 75%"aria-valuenow="75"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar bg-danger"role="progressbar"aria-label="Danger example"style="width: 100%"aria-valuenow="100"aria-valuemin="0"aria-valuemax="100"></div></div>
Передача смысла вспомогательным технологиям

Использование цвета для добавления смысла обеспечивает только визуальную индикацию, которая не будет передана пользователям вспомогательных технологий, таких как программы чтения с экрана. Убедитесь, что информация, обозначенная цветом, либо очевидна из самого содержимого (например, видимый текст), либо включена с помощью альтернативных средств, таких как дополнительный текст, скрытый с помощью класса .visually-hidden.

Множественные полосы

При необходимости включите несколько индикаторов выполнения в компонент прогресса.

html
<divclass="progress"><divclass="progress-bar"role="progressbar"aria-label="Segment one"style="width: 15%"aria-valuenow="15"aria-valuemin="0"aria-valuemax="100"></div><divclass="progress-bar bg-success"role="progressbar"aria-label="Segment two"style="width: 30%"aria-valuenow="30"aria-valuemin="0"aria-valuemax="100"></div><divclass="progress-bar bg-info"role="progressbar"aria-label="Segment three"style="width: 20%"aria-valuenow="20"aria-valuemin="0"aria-valuemax="100"></div></div>

Полосатые

Добавьте .progress-bar-striped к любому .progress-bar, чтобы применить полосу через градиент CSS к цвету фона индикатора выполнения.

html
<divclass="progress"><divclass="progress-bar progress-bar-striped"role="progressbar"aria-label="Default striped example"style="width: 10%"aria-valuenow="10"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar progress-bar-striped bg-success"role="progressbar"aria-label="Success striped example"style="width: 25%"aria-valuenow="25"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar progress-bar-striped bg-info"role="progressbar"aria-label="Info striped example"style="width: 50%"aria-valuenow="50"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar progress-bar-striped bg-warning"role="progressbar"aria-label="Warning striped example"style="width: 75%"aria-valuenow="75"aria-valuemin="0"aria-valuemax="100"></div></div><divclass="progress"><divclass="progress-bar progress-bar-striped bg-danger"role="progressbar"aria-label="Danger striped example"style="width: 100%"aria-valuenow="100"aria-valuemin="0"aria-valuemax="100"></div></div>

Анимированные полосы

Полосатый градиент также можно анимировать. Добавьте .progress-bar-animated в .progress-bar, чтобы анимировать полосы справа налево с помощью анимации CSS3.

html
<divclass="progress"><divclass="progress-bar progress-bar-striped progress-bar-animated"role="progressbar"aria-label="Animated striped example"aria-valuenow="75"aria-valuemin="0"aria-valuemax="100"style="width: 75%"></div></div>

CSS

Переменные

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

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

--#{$prefix}progress-height:#{$progress-height};@include rfs($progress-font-size,--#{$prefix}progress-font-size);--#{$prefix}progress-bg:#{$progress-bg};--#{$prefix}progress-border-radius:#{$progress-border-radius};--#{$prefix}progress-box-shadow:#{$progress-box-shadow};--#{$prefix}progress-bar-color:#{$progress-bar-color};--#{$prefix}progress-bar-bg:#{$progress-bar-bg};--#{$prefix}progress-bar-transition:#{$progress-bar-transition};

Переменные Sass

$progress-height:1rem;$progress-font-size:$font-size-base*.75;$progress-bg:$gray-200;$progress-border-radius:$border-radius;$progress-box-shadow:$box-shadow-inset;$progress-bar-color:$white;$progress-bar-bg:$primary;$progress-bar-animation-timing:1slinearinfinite;$progress-bar-transition:width.6sease;

Ключевые кадры

Используется для создания CSS-анимации для .progress-bar-animated. Включен в scss/_progress-bar.scss.

@if$enable-transitions{@keyframesprogress-bar-stripes{0%{background-position-x:$progress-height;}}}