Il componente Progress Bar è utile quando si vuole mostrare all'utente lo stato di avanzamento di un'operazione o il risultato di un sondaggio. Gli eventuali effetti di animazione e transizione non sono supportati su IE9 e versioni inferiori.
Il componente si struttura a partire da un div con classe .progress
. Al suo interno va collocato un altro div con classe .progress-bar
. Questo secondo div dovrebbe poi avere associato uno stile per la proprietà width
espresso in pecentuale e che imposta l'ampiezza della barra.
<div class="progress"> <div class="progress-bar" style="width: 60%;"></div> </div>
Il colore di default della barra di progresso è il blue. Sono disponibili varianti create a partire dalle classi .success
, .warning
, .danger
, .info
.
<div class="progress"> <div class="progress-bar progress-bar-success" style="width: 60%;"></div> </div> <div class="progress"> <div class="progress-bar progress-bar-warning" style="width: 60%;"></div> </div> <br> <div class="progress"> <div class="progress-bar progress-bar-danger" style="width: 60%;"></div> </div> <div class="progress"> <div class="progress-bar progress-bar-info" style="width: 60%;"></div> </div>
Su questa base, si possono creare barre a strisce ottenute con i gradienti CSS3. La variante si ottiene aggiungendo la classe .progress-striped
al div principale.
<div class="progress progress-striped"> <div class="progress-bar progress-bar-success" style="width: 60%;"></div> </div> <div class="progress progress-striped"> <div class="progress-bar progress-bar-warning" style="width: 60%;"></div> </div> <div class="progress progress-striped"> <div class="progress-bar progress-bar-danger" style="width: 60%;"></div> </div> <div class="progress progress-striped"> <div class="progress-bar progress-bar-info" style="width: 60%;"></div> </div>
Per ottenere barre di avanzamento animate a partire dalle barre a striscie, si aggiunge alle classi .progress
e .progress-striped
la classe .active
.
<div class="progress progress-striped active"> <div class="progress-bar progress-bar-success" style="width: 60%;"></div> </div> <div class="progress progress-striped"> <div class="progress-bar progress-bar-warning" style="width: 60%;"></div> </div> <div class="progress progress-striped"> <div class="progress-bar progress-bar-danger" style="width: 60%;"></div> </div> <div class="progress progress-striped"> <div class="progress-bar progress-bar-info" style="width: 60%;"></div> </div>
La modifica della barra nella configurazione a striscie è un po' complessa per via della presenza del gradiente. Rimandiamo al codice del CSS di Bootstrap per i dettagli e proproniamo qui solo la regola con cui modificare la barra statica standard:
.progress-bar { float: left; width: 0; height: 100%; font-size: 12px; color: #ffffff; text-align: center; background-color: #428bca; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-transition: width 0.6s ease; transition: width 0.6s ease; }