progress.md 3.84 KB
Newer Older
Mark Otto's avatar
Mark Otto committed
1
---
Mark Otto's avatar
Mark Otto committed
2
layout: docs
Mark Otto's avatar
Mark Otto committed
3
title: Progress
4
group: components
Mark Otto's avatar
Mark Otto committed
5
6
---

Chris Rebert's avatar
Chris Rebert committed
7
Stylize [the HTML5 `<progress>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress) with a few extra classes and some crafty browser-specific CSS. Be sure to read up on the browser support.
Mark Otto's avatar
Mark Otto committed
8

Mark Otto's avatar
Mark Otto committed
9
10
11
12
13
## Contents

* Will be replaced with the ToC, excluding the "Contents" header
{:toc}

14
## Example
Mark Otto's avatar
Mark Otto committed
15

16
17
To caption a progress bar, simply add a `<div>` with your caption text, [align the text using a utility class]({{ site.baseurl }}/components/utilities/#text-alignment), and associate the caption with the `<progress>` element using the `aria-describedby` attribute.

Mark Otto's avatar
Mark Otto committed
18
{% example html %}
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

<div class="text-xs-center" id="example-caption-1">Reticulating splines&hellip; 0%</div>
<progress class="progress" value="0" max="100" aria-describedby="example-caption-1"></progress>

<div class="text-xs-center" id="example-caption-2">Reticulating splines&hellip; 25%</div>
<progress class="progress" value="25" max="100" aria-describedby="example-caption-2"></progress>

<div class="text-xs-center" id="example-caption-3">Reticulating splines&hellip; 50%</div>
<progress class="progress" value="50" max="100" aria-describedby="example-caption-3"></progress>

<div class="text-xs-center" id="example-caption-4">Reticulating splines&hellip; 75%</div>
<progress class="progress" value="75" max="100" aria-describedby="example-caption-4"></progress>

<div class="text-xs-center" id="example-caption-5">Reticulating splines&hellip; 100%</div>
<progress class="progress" value="100" max="100" aria-describedby="example-caption-5"></progress>
Mark Otto's avatar
Mark Otto committed
34
35
{% endexample %}

36
## IE9 support
Mark Otto's avatar
Mark Otto committed
37
38
39
40

Internet Explorer 9 doesn't support the HTML5 `<progress>` element, but we can work around that.

{% example html %}
41
42
<div class="text-xs-center" id="example-caption-6">Reticulating splines&hellip; 25%</div>
<progress class="progress" value="25" max="100" aria-describedby="example-caption-6">
Mark Otto's avatar
Mark Otto committed
43
  <div class="progress">
44
    <span class="progress-bar" style="width: 25%;"></span>
Mark Otto's avatar
Mark Otto committed
45
46
47
48
  </div>
</progress>
{% endexample %}

49
## Contextual alternatives
Mark Otto's avatar
Mark Otto committed
50
51
52
53

Progress bars use some of the same button and alert classes for consistent styles.

{% example html %}
54
55
56
57
<progress class="progress progress-success" value="25" max="100"></progress>
<progress class="progress progress-info" value="50" max="100"></progress>
<progress class="progress progress-warning" value="75" max="100"></progress>
<progress class="progress progress-danger" value="100" max="100"></progress>
Mark Otto's avatar
Mark Otto committed
58
59
60
61
62
63
64
{% endexample %}

### Striped

Uses a gradient to create a striped effect.

{% example html %}
65
66
67
68
69
<progress class="progress progress-striped" value="10" max="100"></progress>
<progress class="progress progress-striped progress-success" value="25" max="100"></progress>
<progress class="progress progress-striped progress-info" value="50" max="100"></progress>
<progress class="progress progress-striped progress-warning" value="75" max="100"></progress>
<progress class="progress progress-striped progress-danger" value="100" max="100"></progress>
Mark Otto's avatar
Mark Otto committed
70
71
{% endexample %}

Mark Otto's avatar
Mark Otto committed
72
73
74
### Animated stripes

The striped gradient can also be animated. Add `.progress-animated` to `.progress` to animate the stripes right to left via CSS3 animations.
Mark Otto's avatar
Mark Otto committed
75

76
**Animated progress bars do not work in IE9 and Opera 12** – as they don't support CSS3 animations – **nor in IE10+ and Microsoft Edge** – as they currently don't support CSS3 animations on the [`::-ms-fill` pseudo-element](https://msdn.microsoft.com/en-us/library/windows/apps/hh465757.aspx).
Mark Otto's avatar
Mark Otto committed
77

78
<div class="bd-example">
79
  <progress class="progress progress-striped" value="25" max="100"></progress>
80
  <button type="button" class="btn btn-secondary bd-activate-animated-progressbar" data-toggle="button" aria-pressed="false" autocomplete="off">
Mark Otto's avatar
Mark Otto committed
81
82
83
84
85
    Toggle animation
  </button>
</div>

{% highlight html %}
86
<progress class="progress progress-striped progress-animated" value="25" max="100"></progress>
Mark Otto's avatar
Mark Otto committed
87
{% endhighlight %}