Per creare bottoni in Bootstrap si possono usare gli elementi HTML a, button e input di tipo button o submit.
Per rendere questi elementi secondo le regole di stile predefinite di Bootstrap, bisogna aggiungere ad essi, come markup minimo, la classe .btn e una delle classi che impostano il colore del pulsante.
<a class="btn btn-default" href="#">Link</a> <button class="btn btn-default" type="submit">Button</button> <input class="btn btn-default" type="button" value="Input"> <input class="btn btn-default" type="submit" value="Submit">
A prescindere dal tag usato, l'esito è identico.
Per personalizzare lo stile globale dei bottoni (dimensione del testo, padding, arrotondamento dei bordi, etc.), vanno modificate le proprietà impostate nella classe .btn:
.btn {
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: normal;
line-height: 1.428571429;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
border: 1px solid transparent;
border-radius: 4px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
Sono presenti anche regole per gli stati focus, hover e active:
.btn:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn:hover,
.btn:focus {
color: #333333;
text-decoration: none;
}
.btn:active,
.btn.active {
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
Le classi opzionali per la definizione dell'aspetto sono sei. Ciascuna imposta per il bottone il colore del testo, il colore dello sfondo, il colore del bordo, nello stato iniziale e negli stati hover, active e focus:
/* Default */
.btn-default {
color: #333333;
background-color: #ffffff;
border-color: #cccccc;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default {
color: #333333;
background-color: #ebebeb;
border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default {
background-image: none;
}
/* Variante Primary */
.btn-primary {
color: #ffffff;
background-color: #428bca;
border-color: #357ebd;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
color: #ffffff;
background-color: #3276b1;
border-color: #285e8e;
}
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
background-image: none;
}
/* Variante Warning */
.btn-warning {
color: #ffffff;
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.open .dropdown-toggle.btn-warning {
color: #ffffff;
background-color: #ed9c28;
border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open .dropdown-toggle.btn-warning {
background-image: none;
}
/* Variante Danger */
.btn-danger {
color: #ffffff;
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.open .dropdown-toggle.btn-danger {
color: #ffffff;
background-color: #d2322d;
border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open .dropdown-toggle.btn-danger {
background-image: none;
}
/* Variante Success */
.btn-success {
color: #ffffff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.open .dropdown-toggle.btn-success {
color: #ffffff;
background-color: #47a447;
border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open .dropdown-toggle.btn-success {
background-image: none;
}
/* Variante Info */
.btn-info {
color: #ffffff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.open .dropdown-toggle.btn-info {
color: #ffffff;
background-color: #39b3d7;
border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open .dropdown-toggle.btn-info {
background-image: none;
}
<!-- Classe .btn-default --> <button type="button" class="btn btn-default">Default</button> <!-- Classe .btn-primary --> <button type="button" class="btn btn-primary">Primary</button> <!-- Classe .btn-success--> <button type="button" class="btn btn-success">Success</button> <!-- Classe .btn-info --> <button type="button" class="btn btn-info">Info</button> <!-- Classe .btn-warning --> <button type="button" class="btn btn-warning">Warning</button> <!-- Classe .btn-danger --> <button type="button" class="btn btn-danger">Danger</button>
Bootstrap offre tre classi per dimensionare i bottoni. Le classi sono .btn-lg, .btn-sm e .btn-xs. La variante 'xs' (extra-small) differisce dalla 'small' solo per il padding applicato al pulsante. Non è necessario specificare una classe specifica se si vuole adottare la dimensione di default.
/* Variante large */
.btn-lg {
padding: 10px 16px;
font-size: 18px;
line-height: 1.33;
border-radius: 6px;
}
/* Variante small */
.btn-sm,
.btn-xs {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
/* Variante extra-small */
.btn-xs {
padding: 3px 5px;
}
<button type="button" class="btn btn-primary btn-lg">Bottone 'large'</button> <button type="button" class="btn btn-primary">Bottone standard</button> <button type="button" class="btn btn-primary btn-sm">Bottone 'small'</button> <button type="button" class="btn btn-primary btn-xs">Bottone 'extra-small'</button>
La classe .btn-block consente di creare bottoni che si adattano automaticamente in larghezza all'elemento che li contiene.
<button type="button" class="btn btn-primary btn-large btn-block">Bottone 'large' e blocco</button>