Skip to content

CSS: progress

.instui-progress · stable — Определённая индикаторная полоса прогресса с цветным заполнением, размерами и необязательной меткой значения.

.value является «сиблингом» для .bar, оба — дети корня — отражая то, как progress-circle вкладывает собственную часть .value. В InstUI нет состояния indeterminate; :indeterminate — это предположение, специфичное для pantoken (нативный <progress> без атрибута value), анимирующее .bar как скользящий сегмент и скрывающее .value, поскольку нет осмысленного числа для отображения. <meter> не имеет состояния indeterminate, поэтому не затрагивается.

Source: progress.css

Доступность

Используйте нативный <progress> для диапазона завершения задач, начинающегося с нуля, и <meter>, когда минимум ненулевой. Дайте любому из элементов доступное имя, вложив его в <label> или связав отдельный <label> через совпадающие значения for и id.

Использование

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/progress.css";

Примеры

Nested label

html
<label>
  Uploading Document: <progress class="instui-progress -color-brand" value="70">70%</progress>
</label>

External label

html
<label for="storage-used">Storage used</label>
<meter id="storage-used" class="instui-progress -color-warning" min="20" value="40" max="60">50%</meter>

Структура

// Variant: nested-label

text
label
  .instui-progress
    .bar
    .value

// Variant: external-label

text
label
.instui-progress
  .bar
  .value
flowchart TD subgraph sg0 ["nested-label"] n1["label"]:::cssdoc-root n2(".instui-progress"):::cssdoc-part n3(".bar"):::cssdoc-part n4(".value"):::cssdoc-part end subgraph sg5 ["external-label"] n6["label"]:::cssdoc-root n7[".instui-progress"]:::cssdoc-root n8(".bar"):::cssdoc-part n9(".value"):::cssdoc-part end n2 --> n3 n2 --> n4 n1 --> n2 n7 --> n8 n7 --> n9 classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

Модификаторы

МодификаторОписание
.-color-brandЦвет индикатора бренда.
.-color-dangerЦвет индикатора опасности.
.-color-infoИнформационный цвет индикатора.
.-color-inverseДля тёмных фонов.
.-color-primary-inverseЦвет индикатора для тёмного фона (primary inverse).
.-color-successЦвет индикатора успеха.
.-color-warningЦвет предупреждающего индикатора.
.-meter-color-alertУстарело — use .-color-warning.
.-meter-color-brandУстарело — use .-color-brand.
.-meter-color-dangerУстарело — use .-color-danger.
.-meter-color-infoУстарело — use .-color-info.
.-meter-color-successУстарело — use .-color-success.
.-meter-color-warningУстарело — use .-color-warning.
.-render-value-insideОтображает .value внутри дорожки, выровненным по её началу, вместо расположения рядом; стилизуйте его для читабельности на фоне цвета заполнения.
.-should-animateInteraction — Animate meter changes over half a second.
.-size-largeБольшой. Длинная форма для -size-lg.
.-size-lgБольшой.
.-size-mdСредний (по умолчанию).
.-size-mediumСредний (по умолчанию). Длинный алиас для -size-md.
.-size-smМаленький.
.-size-smallМаленький. Длинная форма для -size-sm.
.-size-x-smallОчень маленький. Длинная форма для -size-xs.
.-size-xsОчень маленький.

Части

ЧастьОписание
.barЗаполненная (цветная) полоса индикатора.
.valueТекстовое значение рядом с полосой.

Псевдоэлементы

ПсевдоэлементОписание
:::indeterminateПользовательское, не часть InstUI. Применяется только к нативному <progress>, у которого отсутствует атрибут value; анимирует .bar как скользящий сегмент и скрывает .value.
::afterОтрисовывает нижнюю линию дорожки как отдельный слой поверх заполнения, чтобы полный бордер и нижняя граница оставались независимыми в разных темах.

Состояния

СостояниеОписание
:indeterminate

Пользовательские свойства

СвойствоТипПо умолчаниюОписание
--max<number>Максимальное значение прогресса (по умолчанию 100).
--min<number>Минимальное значение индикатора (по умолчанию 0).
--value<number>Текущее значение прогресса.
--value-max<number>@alias {@link --max} Максимальное значение прогресса (по умолчанию 100).
--value-now<number>@alias Алиас для --value.

Анимации

АнимацияОписание
pantoken-progress-indeterminate

Использованные токены

TokenТипЗначение
--instui-color-background-brand<color>LightDarklight-dark(#1D354F, #EEF4FD)
--instui-color-background-error<color>#E62429
--instui-color-background-info<color>#2B7ABC
--instui-color-background-success<color>#03893D
--instui-color-background-warning<color>#CF4A00
--instui-component-progress-bar-border-color<color>LightDarklight-dark(#1D354F, #EEF4FD)
--instui-component-progress-bar-border-color-inverse<color>LightDarklight-dark(#ffffff, #6A7883)
--instui-component-progress-bar-border-radius<length>0.5rem
--instui-component-progress-bar-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-component-progress-bar-font-weight<integer>400
--instui-component-progress-bar-large-height<length>2rem
--instui-component-progress-bar-line-height<percentage>125%
--instui-component-progress-bar-medium-height<length>1.5rem
--instui-component-progress-bar-medium-value-font-size<length>1rem
--instui-component-progress-bar-meter-color-brand-inverse<color>LightDarklight-dark(#ffffff, #10141A)
--instui-component-progress-bar-small-height<length>1rem
--instui-component-progress-bar-text-color<color>LightDarklight-dark(#576773, #AAB0B5)
--instui-component-progress-bar-text-color-inverse<color>LightDarklight-dark(#ffffff, #1C222B)
--instui-component-progress-bar-track-bottom-border-color<color>#00000000
--instui-component-progress-bar-track-bottom-border-color-inverse<color>#00000000
--instui-component-progress-bar-track-bottom-border-width<length>0.0625rem
--instui-component-progress-bar-track-color<color>#00000000
--instui-component-progress-bar-track-color-inverse<color>#00000000
--instui-component-progress-bar-value-padding<length>0.5rem
--instui-component-progress-bar-x-small-height<length>0.5rem

Поддержка браузеров

  • Ограничивает правила части meter с помощью директивы @scope; браузеры без поддержки @scope игнорируют эти ограниченные правила.

Связанные

  • progress-circle — Круглая форма того же определённого индикатора прогресса.