Indice dei contenuti

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">
Link

A prescindere dal tag usato, l'esito è identico.

Modificare gli stili globali dei bottoni

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>

Bottone blocco a larghezza automatica

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>