<button>: Elemento BUTTON

Última atualização: 2026-10-13

<button>Elemento BUTTON

O elemento <button> cria um botão clicável. Diferente de <input type="button">, pode conter HTML arbitrário (texto, ícones, imagens). O type padrão é submit.

CategoriaFormulários
Modelo de ConteúdoConteúdo de frase (sem conteúdo interativo)
Pais PermitidosQualquer elemento que aceite conteúdo de frase
Tag de FechamentoSim — requer fechamento </button> tag
StatusPadrão

📝 Sintaxe

<button type="button">Texto do botão</button>

⚙️ Atributos

Este elemento suporta os atributos globais mais os seguintes:

AtributoValorDescrição
typeKeywordThe behavior type of the button.
  • submit — Submits the enclosing form (default).
  • button — Plain button, no default behavior.
  • reset — Resets the enclosing form.
nameTextButton name, submitted with the form.
valueTextThe value submitted with the button.
disabledBooleanDisables the button.
formForm IDAssociates the button with a form (can be outside it).

▶ Exemplo

Edite o código abaixo e veja o resultado em tempo real no playground:

🌐 Suporte de Navegadores

Navegador ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
<button> ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
Suportado em todos os navegadores principais
Dica: Defina type="button" para botões fora de formulários; caso contrário, o clique pode enviar o formulário inesperadamente.

❓ Perguntas Frequentes

QQuais valores o atributo type de button pode ter? Qual é o padrão?
ATrês valores: submit (envia o formulário), reset (redefine) e button (sem comportamento padrão). O padrão é submit — fora de formulários não afeta nada, mas dentro de um formulário um botão sem type dispara o envio por acidente; é a pegadinha mais comum. Escreva sempre o type explicitamente.
QQual é a diferença entre button e input type='button'?
A<button> tem modelo de conteúdo mais rico: aceita ícones, texto em negrito e elementos aninhados; <input type='button'> só recebe texto puro pelo value e não pode conter filhos. Projetos modernos recomendam uniformemente <button>.
QPode aninhar um button dentro de outro button?
ANão, elementos interativos não se aninham — dentro de <button> não cabem outro <button>, <a>, <input> etc. Para interação composta, separe a estrutura ou delegue eventos via JS num contêiner externo.

📚 Tutoriais Relacionados

Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%