Skip to content

CSS: progress

.instui-progress · stable — Bar kemajuan deterministik dengan meter berwarna, ukuran, dan label nilai opsional.

.value adalah saudara dari .bar, keduanya anak dari root — mencerminkan bagaimana progress-circle menyematkan bagian .value-nya sendiri. InstUI tidak memiliki status tak tentu; :indeterminate adalah tebakan terbaik khusus pantoken (native <progress> tanpa atribut value), menganimasikan .bar sebagai segmen yang bergeser dan menyembunyikan .value karena tidak ada angka bermakna untuk ditampilkan. <meter> tidak memiliki status tak tentu, jadi tidak terpengaruh.

Source: progress.css

Aksesibilitas

Gunakan native <progress> untuk rentang penyelesaian tugas berbasis nol dan <meter> ketika minimum bukan nol. Beri salah satu elemen nama yang dapat diakses dengan menempatkannya di dalam <label> atau mengaitkan <label> terpisah melalui pencocokan nilai for dan id.

Penggunaan

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

Contoh

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>

Struktur

// 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;

Modifikator

ModifikatorDeskripsi
.-color-brandWarna meter merek.
.-color-dangerWarna meter bahaya.
.-color-infoWarna meter informasional.
.-color-inverseUntuk latar gelap.
.-color-primary-inverseWarna meter untuk latar gelap (inverse utama).
.-color-successWarna meter sukses.
.-color-warningWarna meter peringatan.
.-meter-color-alertTidak disarankan — use .-color-warning.
.-meter-color-brandTidak disarankan — use .-color-brand.
.-meter-color-dangerTidak disarankan — use .-color-danger.
.-meter-color-infoTidak disarankan — use .-color-info.
.-meter-color-successTidak disarankan — use .-color-success.
.-meter-color-warningTidak disarankan — use .-color-warning.
.-render-value-insideMerender .value di dalam track, disejajarkan ke awalnya, alih-alih di sampingnya; beri gaya agar terbaca di atas warna meter.
.-should-animateInteraction — Animate meter changes over half a second.
.-size-largeBesar. Alias bentuk panjang dari -size-lg.
.-size-lgBesar.
.-size-mdSedang (default).
.-size-mediumSedang (default). Alias bentuk panjang dari -size-md.
.-size-smKecil.
.-size-smallKecil. Alias bentuk panjang dari -size-sm.
.-size-x-smallEkstra kecil. Alias bentuk panjang dari -size-xs.
.-size-xsEkstra kecil.

Bagian

BagianDeskripsi
.barBar meter yang terisi.
.valueTeks nilai di samping bar.

Pseudo-elemen

Pseudo-elemenDeskripsi
:::indeterminateKhusus, bukan bagian dari InstUI. Berlaku hanya untuk native <progress> yang kehilangan atribut value; menganimasikan .bar sebagai segmen yang bergeser dan menyembunyikan .value.
::afterMenggambar aturan bawah track sebagai lapisan sendiri di atas meter, sehingga border penuh dan border bawah tetap terpisah antar tema.

Status

StatusDeskripsi
:indeterminate

Properti khusus

PropertiTipeBawaanDeskripsi
--max<number>Nilai progres maksimum (default 100).
--min<number>Nilai meter minimum (default 0).
--value<number>Nilai kemajuan saat ini.
--value-max<number>@alias {@link --max} Nilai progres maksimum (default 100).
--value-now<number>@alias Alias untuk --value.

Animasi

AnimasiDeskripsi
pantoken-progress-indeterminate

Token yang digunakan

TokenTipeNilai
--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

Dukungan peramban

  • Mengiskop aturan bagian meter dengan at-rule @scope; browser tanpa dukungan @scope mengabaikan aturan yang diiskop itu.

Terkait

  • progress-circle — Bentuk melingkar dari bar kemajuan determinate yang sama.