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>