Botões
Use os botões Bootstrap personalizados para ações em formulários, diálogos e outras coisas. Lembrando que esse componente tem suporte a escolha de tamanhos, estados e muito mais.
Exemplos
Bootstrap possui vários estilos de botões pré-definidos, cada um com seu próprosito semântico e outros recursos extras para mais controle.
Transmitindo significado a tecnologias assistivas
Usando cor para adicionar significado só fornece uma indicação visual, a qual não será transmitida para usuários de tecnologias assistivas (como leitores de telas). Se assegure que a informação denotada pela cor é tanto destacada do conteúdo (ex: o texto visível) ou está incluída em meios alternativos, como textos extras escondidos com a classe .sr-class
.
Button tags
A classe .btn
foi desenhada para ser usada com o elemento <button>
. No entanto, você também pode usar esta classe nos elementos <a>
ou <input>
, apesar de alguns browser aplicarem um visual um pouco diferente.
Quando usando classes de botão em elementos <a>
que funcionam como gatilhos in-page (igual aos conteúdos colapsáveis), invés de link para novas páginas ou seções dentro da página atual, estas âncoras devem receber role="button"
para expliciar seu propósito a tecnologias assistivas, como leitores de telas.
Botões outline
Precisa de um botão, mas sem cor de backround? Substitua as classes modificadoras padrões pelas .btn-outline-*
que removem todas as imagens de background e cores, em qualquer botão.
Tamanhos
Botões grandes ou pequenos? Use .btn-lg
ou .btn-sm
para tamanhos alternativos ao padrão.
Crie botões block-level (ocupam toda a largura do elemento pai), usando a classe .btn-block
.
Estado ativo
Os botões parecem pressionados (background, borda e sombra internas mais escuras), quando estão em estado ativo. Não há necessidade de usar a classe no <button>
, porque eles usam uma pseudo-classe. No entanto, você ainda pode forçar a aparência de estado ativo com a classe .active
e incuir o atributo aria-pressed="true"
, se precisar.
Estado desativado
Faça botões parecerem inativos, usando o atributo booleano disabled
em qualquer elemento <button>
.
Botões desativados usando o elemento <a>
se comportam um pouco diferente:
- O elemento
<a>
não suport o atributodisabled
, então, você deve usar a classe.disabled
para fazê-lo parecer desativado, visualmente; - Alguns estilos (que ainda não são bem suportados) são usados para desativarem todos os
pointer-events
, em botões âncora;- Em browsers que suportam essa propriedade, você não verá o cursor desativado.
- Botões desativados devem ter o atributo
aria-disabled="true"
para indicar o estado do elemento para tecnologias assistivas.
Problemas com a funcionalidade de link
A class .disabled
usa pointer-events: none
para tentar desativar a funcionalidade de link do <a>
, mas esta propriedade CSS ainda não foi padronizada. Além disso, até em navegadores que suportam pointer-events: none
, a navegação por teclado continua inatingida, significando que tanto usuários com ou sem tecnologias assistivas ainda conseguirão ativar estes links. Portanto, para evitar isso, use o atributo tabindex="-1"
(evita que tenham foco) nestes links e use seu próprio JavaScript para desativar as funcionalidades.
Plugin de botão
Faça mais com botões. Controle estados ou crie grupos de botões, para mais componentes como toolbars.
Alternar estados
Use data-toggle="button"
para alternar o estado ativo
do botão. Se você pré-ativar o botão, deve usar a classe .active
e o atributo aria-pressed="true"
, no <button>
.
Botões checkbox e radio
Os estilos do .button
Bootstrap podem seren usado em outros elementos, como <label>
para se ter um botão no estilo checkbox ou radio com alternância. Use data-toggle="buttons"
em um .btn-group
para estilizar o os inputs
dentro de seus botões. Perceba que você pode criar botões com apenas um input ou grupos deles.
O estado checado destes botões só é atualizado através do evento de clique, no botão. Se você usar outro método para atualizar o input (ex: <input type="reset">
ou aplicando a propriedade checked
, manualmente), vai precisar anternar a classe .active
da <label>
, manualmente.
Note que botões pré-checados requerem que você coloque a classe .active
, manualmente, no input do <label>
.
Métodos
Método | Descrição |
---|---|
$().button('toggle') |
Alterna o estado. Dá ao botão uma aparência como se estivesse ativado. |
$().button('dispose') |
Destroi o botão de um elemento. |