O que são tags, atributos e elementos
Descubra os tijolos de construção do HTML: como as tags funcionam, o que são atributos e como esses elementos se encaixam.
Se o HTML fosse uma língua falada, as tags seriam as palavras, os atributos seriam os adjetivos e os elementos seriam as frases completas. Juntos, esses três conceitos formam o vocabulário fundamental de tudo que você vai escrever em HTML.
Entender a diferença entre eles — e como cada um funciona — é o passo mais importante para começar a escrever código com confiança.
Tags: as marcações do HTML
Uma tag é uma marcação escrita entre sinais de menor e maior
(< e >). Ela é a instrução que você dá ao navegador dizendo:
"esse conteúdo aqui é um título", "esse aqui é um parágrafo",
"esse aqui é uma imagem".
A grande maioria das tags vem em pares: uma tag de abertura e uma tag de fechamento.
<p>Este é um parágrafo.</p>
<p>→ tag de abertura — indica onde o elemento começa</p>→ tag de fechamento — indica onde o elemento termina- A barra
/antes do nome é o que diferencia a tag de fechamento
Pense nas tags como parênteses de um texto: eles marcam onde uma ideia começa e onde ela termina.
Tags sem fechamento
Algumas tags não precisam de fechamento porque não envolvem conteúdo — elas são elementos que existem por si só. São chamadas de tags void (vazias) ou tags auto-fechadas.
<br> <!-- quebra de linha -->
<hr> <!-- linha horizontal -->
<img src="foto.jpg" alt="Uma foto"> <!-- imagem -->
<input type="text"> <!-- campo de texto -->
<meta charset="UTF-8"> <!-- metadado -->
Essas tags não têm conteúdo entre abertura e fechamento — elas simplesmente existem e fazem seu trabalho.
💡 No HTML5, você não precisa fechar essas tags com
/>. Escrever apenas<br>é suficiente. Em versões antigas do XHTML, o fechamento<br />era obrigatório — você pode encontrar esse estilo em código mais antigo.
Elementos: a tag + o conteúdo
Um elemento é o conjunto completo: a tag de abertura, o conteúdo e a tag de fechamento. É a unidade completa de significado no HTML.
<h1>Bem-vindo ao meu site!</h1>
↑ ↑ ↑
tag de conteúdo tag de
abertura fechamento
|_______________________________|
↑
elemento
Outra forma de pensar: se a tag é a embalagem, o elemento é a embalagem com o produto dentro.
<!-- Isso é apenas uma tag de abertura -->
<p>
<!-- Isso é um elemento completo -->
<p>Este texto é o conteúdo do elemento parágrafo.</p>
Elementos aninhados
Elementos podem conter outros elementos dentro deles. Isso se chama aninhamento — e é algo que você vai fazer o tempo todo em HTML.
<p>
Este parágrafo tem uma palavra em
<strong>negrito</strong>
bem no meio.
</p>
Aqui, o elemento <strong> está dentro do elemento <p>. O
<p> é o elemento pai e o <strong> é o elemento filho.
Regra importante: sempre feche os elementos na ordem inversa à que foram abertos. Pense em pilhas de caixas — você tira de cima para baixo:
<!-- ✅ Correto — fechado na ordem inversa -->
<p>Texto com <strong>negrito</strong> aqui.</p>
<!-- ❌ Errado — fechamento fora de ordem -->
<p>Texto com <strong>negrito</p></strong>
Atributos: informações extras para a tag
Os atributos são informações adicionais que você coloca dentro da tag de abertura para personalizar ou configurar o comportamento de um elemento.
A estrutura de um atributo é sempre:
nome="valor"
E ele fica sempre dentro da tag de abertura, depois do nome da tag:
<a href="https://www.google.com">Ir para o Google</a>
↑
atributo
Nesse exemplo:
hrefé o nome do atributo"https://www.google.com"é o valor do atributo- Juntos, eles dizem ao navegador: "esse link aponta para o Google"
Vários atributos na mesma tag
Uma tag pode ter múltiplos atributos — basta separá-los com espaços dentro da tag de abertura:
<img src="perfil.jpg" alt="Foto de perfil" width="200" height="200">
Aqui temos quatro atributos:
src→ indica o caminho da imagemalt→ texto alternativo para acessibilidadewidth→ largura da imagem em pixelsheight→ altura da imagem em pixels
Atributos booleanos
Alguns atributos não precisam de valor — a simples presença deles já ativa uma funcionalidade. São os atributos booleanos:
<!-- O campo aparece desabilitado -->
<input type="text" disabled>
<!-- O checkbox já vem marcado por padrão -->
<input type="checkbox" checked>
<!-- O vídeo toca automaticamente -->
<video src="video.mp4" autoplay>
Se o atributo está presente, ele é verdadeiro. Se está ausente, é falso. Simples assim.
Atributos globais: disponíveis em qualquer tag
Alguns atributos podem ser usados em qualquer elemento HTML — por isso são chamados de atributos globais. Os mais importantes são:
id — identificador único
<h2 id="sobre-mim">Sobre mim</h2>
O id dá um nome único a um elemento. Nenhum outro elemento
na mesma página pode ter o mesmo id. É como o CPF de um elemento
— cada um tem o seu.
É muito usado para:
- Criar links de navegação interna (âncoras)
- Identificar elementos para o JavaScript
- Aplicar estilos específicos no CSS
class — agrupamento de elementos
<p class="destaque">Este parágrafo é importante.</p>
<p class="destaque">Este também é importante.</p>
<p>Este é um parágrafo normal.</p>
A class agrupa elementos que compartilham características.
Vários elementos podem ter a mesma classe. É como uma etiqueta
de categoria — você coloca a mesma etiqueta em todos os produtos
do mesmo tipo.
style — estilo inline
<p style="color: red; font-size: 18px;">Texto vermelho e grande.</p>
Permite aplicar CSS diretamente no elemento. Útil para testes rápidos, mas não recomendado para projetos reais — o ideal é manter o CSS em um arquivo separado.
title — texto de dica
<p title="Isso é uma dica!">Passe o mouse sobre mim.</p>
Exibe uma tooltip (balão de texto) quando o usuário passa o mouse sobre o elemento.
hidden — ocultar elemento
<p hidden>Este parágrafo está escondido.</p>
Oculta o elemento da página completamente, como se ele não existisse.
Tudo junto: anatomia completa de um elemento HTML
Vamos observar um elemento completo e identificar cada parte:
atributo atributo
_____|_____ _____|_____
| | | |
<a href="contato.html" class="link-menu">Fale conosco</a>
↑ ↑ ↑
tag de conteúdo tag de
abertura fechamento
|__________________________________________________|
↑
elemento
- Tag de abertura:
<a href="contato.html" class="link-menu"> - Atributo 1:
href="contato.html"— define o destino do link - Atributo 2:
class="link-menu"— classifica o elemento - Conteúdo:
Fale conosco— o texto visível do link - Tag de fechamento:
</a> - Elemento completo: tudo junto, do
<a>até o</a>
Resumindo
| Conceito | O que é | Exemplo |
|---|---|---|
| Tag | Marcação entre < e > |
<p>, </p>, <br> |
| Atributo | Informação extra dentro da tag de abertura | href="...", class="..." |
| Elemento | Tag de abertura + conteúdo + tag de fechamento | <p>Texto</p> |
| Tag void | Tag sem conteúdo e sem fechamento | <img>, <br>, <input> |
| Aninhamento | Elemento dentro de elemento | <p><strong>texto</strong></p> |
| Atributo global | Atributo disponível em qualquer tag | id, class, style, title |