mirror of
https://github.com/tabler/tabler.git
synced 2026-10-14 06:07:07 +04:00
179 lines
5.6 KiB
Markdown
179 lines
5.6 KiB
Markdown
---
|
||
title: Progress Bar
|
||
summary: A progress bar is used to provide feedback on an action status and inform users about current progress. Although it is a small interface element, it is extremely helpful in managing user expectations and preventing abandonment of an initiated process.
|
||
bootstrapLink: components/progress
|
||
description: Track and display progress with a progress bar.
|
||
---
|
||
|
||
## Default markup
|
||
|
||
To create a default progress bar, add a `.progress` class to a `<div>` element. Thanks to that, you will be able to notify users how long they have to wait for a process to complete.
|
||
|
||
{% capture html -%}
|
||
<div class="progress">
|
||
<div class="progress-bar" style="width: 38%"></div>
|
||
</div>
|
||
{%- endcapture %}
|
||
{% include "docs/example.html" html=html %}
|
||
|
||
## Progress size
|
||
|
||
Using Bootstrap’s typical naming structure, you can create a standard progress bar or scale it up or down to different sizes based on what’s needed.
|
||
|
||
```html
|
||
<div class="progress progress-sm">...</div>
|
||
```
|
||
|
||
Look at the example below to see how it works:
|
||
|
||
{% capture html -%}
|
||
<div class="progress progress-sm">
|
||
<div
|
||
class="progress-bar"
|
||
style="width: 57%"
|
||
role="progressbar"
|
||
aria-valuenow="57"
|
||
aria-valuemin="0"
|
||
aria-valuemax="100"
|
||
aria-label="57% Complete"
|
||
>
|
||
<span class="visually-hidden">57% Complete</span>
|
||
</div>
|
||
</div>
|
||
{%- endcapture %}
|
||
{% include "docs/example.html" html=html %}
|
||
|
||
## Indeterminate progress
|
||
|
||
You can create a progress bar which shows indeterminate progress by adding `.progress-bar-indeterminate` to the `.progress-bar` element.
|
||
|
||
{% capture html -%}
|
||
<div class="progress progress-sm">
|
||
<div class="progress-bar progress-bar-indeterminate"></div>
|
||
</div>
|
||
{%- endcapture %}
|
||
{% include "docs/example.html" html=html %}
|
||
|
||
## Native progress element
|
||
|
||
You can also use the native HTML5 `<progress>` element. It is a great way to create a progress bar without the need for additional HTML elements. This is what it looks like:
|
||
|
||
{% capture html -%}
|
||
<progress class="progress progress-sm" value="15" max="100" />
|
||
{%- endcapture %}
|
||
{% include "docs/example.html" html=html %}
|
||
|
||
## Progress color
|
||
|
||
You can change the color of the progress bar by adding a color class to the `.progress-bar` element. You can use the color classes like `.bg-primary`, `.bg-success`, etc. to change the color of the progress bar.
|
||
|
||
See the [full list of available colors](/ui/base/colors) for more details.
|
||
|
||
{% capture html -%}
|
||
<div class="progress">
|
||
<div
|
||
class="progress-bar bg-red"
|
||
style="width: 24%"
|
||
role="progressbar"
|
||
aria-valuenow="24"
|
||
aria-valuemin="0"
|
||
aria-valuemax="100"
|
||
aria-label="24% Complete"
|
||
>
|
||
<span class="visually-hidden">24% Complete</span>
|
||
</div>
|
||
</div>
|
||
<div class="progress">
|
||
<div
|
||
class="progress-bar bg-green"
|
||
style="width: 45%"
|
||
role="progressbar"
|
||
aria-valuenow="45"
|
||
aria-valuemin="0"
|
||
aria-valuemax="100"
|
||
aria-label="45% Complete"
|
||
>
|
||
<span class="visually-hidden">45% Complete</span>
|
||
</div>
|
||
</div>
|
||
<div class="progress">
|
||
<div
|
||
class="progress-bar bg-purple"
|
||
style="width: 64%"
|
||
role="progressbar"
|
||
aria-valuenow="64"
|
||
aria-valuemin="0"
|
||
aria-valuemax="100"
|
||
aria-label="64% Complete"
|
||
>
|
||
<span class="visually-hidden">64% Complete</span>
|
||
</div>
|
||
</div>
|
||
<div class="progress">
|
||
<div
|
||
class="progress-bar bg-blue"
|
||
style="width: 38%"
|
||
role="progressbar"
|
||
aria-valuenow="38"
|
||
aria-valuemin="0"
|
||
aria-valuemax="100"
|
||
aria-label="38% Complete"
|
||
>
|
||
<span class="visually-hidden">38% Complete</span>
|
||
</div>
|
||
</div>
|
||
{%- endcapture %}
|
||
{% include "docs/example.html" html=html %}
|
||
|
||
## Multiple progress bars
|
||
|
||
You can stack multiple progress bars on top of each other to create a visually appealing design. This can be done by adding multiple `.progress` elements inside a `.progress-stacked` container.
|
||
|
||
```html
|
||
<div class="progress-stacked">
|
||
<div class="progress">...</div>
|
||
</div>
|
||
```
|
||
|
||
This is how it looks:
|
||
|
||
{% capture html -%}
|
||
<div class="progress-stacked">
|
||
<div class="progress" style="width: 15%">
|
||
<div class="progress-bar"></div>
|
||
</div>
|
||
<div class="progress" style="width: 30%">
|
||
<div class="progress-bar bg-success"></div>
|
||
</div>
|
||
<div class="progress" style="width: 20%">
|
||
<div class="progress-bar bg-info"></div>
|
||
</div>
|
||
</div>
|
||
{%- endcapture %}
|
||
{% include "docs/example.html" html=html vertical column %}
|
||
|
||
## Striped progress
|
||
|
||
You can create a striped progress bar by adding the `.progress-bar-striped` class to the `.progress-bar` element.
|
||
|
||
{% capture html -%}
|
||
<div class="progress">
|
||
<div class="progress-bar progress-bar-striped progress-bar-animated" style="width: 60%"></div>
|
||
</div>
|
||
{%- endcapture %}
|
||
{% include "docs/example.html" html=html %}
|
||
|
||
## Progress background
|
||
|
||
By using a progress bar component as a background element, designers can create a dynamic and engaging visual experience for users. For example, the progress bar could be used to represent the completion of a long-term goal or project, such as a fundraising campaign or construction project. As users interact with the page, the progress bar could gradually fill up, creating a sense of momentum and progress.
|
||
|
||
Thanks to this you can create a nice looking statistics section:
|
||
|
||
{% capture html -%}
|
||
{% include "ui/progressbg.html" value="65" text="Poland" show-value=true %}
|
||
{% include "ui/progressbg.html" value="35" text="Germany" show-value=true %}
|
||
{% include "ui/progressbg.html" value="28" text="United Stated" show-value=true %}
|
||
{% include "ui/progressbg.html" value="20" text="United Kingdom" show-value=true %}
|
||
{% include "ui/progressbg.html" value="15" text="France" show-value=true %}
|
||
{%- endcapture %}
|
||
{% include "docs/example.html" html=html vertical card %} |