IDs e classes: identificando e agrupando elementos
Aprenda a usar os atributos id e class para nomear elementos HTML — essencial para trabalhar com CSS e JavaScript depois.
Até agora, você aprendeu a estruturar seu conteúdo com tags
HTML e a agrupá-lo com <div> e <span>. Mas e se você
precisar ser mais específico? Como dizer ao CSS "estilize
apenas ESTE parágrafo" ou "estilize TODOS os botões VERMELHOS"?
Para isso, o HTML nos dá dois atributos poderosos: id e class.
Eles funcionam como "nomes" ou "etiquetas" que você pode dar
aos seus elementos HTML para identificá-los e agrupá-los,
tornando-os alvos perfeitos para estilização com CSS e
manipulação com JavaScript.
O atributo id: identificador único
O atributo id (de identifier) serve para dar um nome
único a um elemento HTML dentro de toda a página.
Características principais:
- Único na página: Cada
iddeve ser usado apenas uma vez em todo o documento HTML. É como o CPF de uma pessoa — não pode haver dois iguais. - Seleção precisa: Permite selecionar um elemento específico
com CSS (usando
#) ou JavaScript (usandodocument.getElementById()). - Links internos (âncoras): Pode ser usado para criar links
que levam a uma seção específica da mesma página (ex:
<a href="#secao-contato">).
Exemplo de uso de id:
<style>
#cabecalho-principal {
background-color: #333;
color: white;
padding: 20px;
text-align: center;
}
#secao-contato {
border: 1px solid blue;
padding: 15px;
margin-top: 20px;
}
</style>
<header id="cabecalho-principal">
<h1>Meu Site Incrível</h1>
</header>
<main>
<section id="secao-contato">
<h2>Entre em Contato</h2>
<p>Preencha o formulário abaixo para falar conosco.</p>
</section>
</main>
Regras para nomes de id:
- Devem começar com uma letra (A-Z ou a-z).
- Podem conter letras, números (0-9), hífens (-) e underscores (_).
- São case-sensitive (maiúsculas e minúsculas fazem diferença).
- Evite usar nomes muito genéricos como "box" ou "item".
O atributo class: agrupando elementos
O atributo class (de classification) serve para dar um
nome de categoria a um ou mais elementos HTML.
Características principais:
- Pode ser usado múltiplas vezes: O mesmo nome de
classpode ser aplicado a quantos elementos você quiser na mesma página. É como uma etiqueta de categoria — vários produtos podem ter a etiqueta "promoção". - Um elemento pode ter múltiplas classes: Você pode aplicar
várias classes a um único elemento, separando-as por espaço.
(ex:
<button class="btn btn-primario">). - Seleção de grupos: Permite selecionar um grupo de elementos
com CSS (usando
.) ou JavaScript (usandodocument.getElementsByClassName()oudocument.querySelectorAll()).
Exemplo de uso de class:
<style>
.card {
border: 1px solid #ddd;
border-radius: 8px;
padding: 15px;
margin: 10px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}
.card-primario {
background-color: #e0f7fa; /* Azul claro */
}
.card-secundario {
background-color: #fff3e0; /* Laranja claro */
}
.texto-centralizado {
text-align: center;
}
</style>
<div class="card card-primario">
<h3>Produto A</h3>
<p class="texto-centralizado">Descrição do produto A.</p>
</div>
<div class="card card-secundario texto-centralizado">
<h3>Produto B</h3>
<p>Descrição do produto B.</p>
</div>
<button class="btn btn-primario">Comprar</button>
<button class="btn btn-secundario">Detalhes</button>
Regras para nomes de class:
- As mesmas regras de
idse aplicam (começar com letra, etc.). - São case-sensitive.
- É comum usar hífens para separar palavras (ex:
card-primario).
id vs. class: quando usar qual?
| Característica | id |
class |
|---|---|---|
| Unicidade | Único por página | Pode ser usado múltiplas vezes |
| Propósito | Identificar um elemento específico | Agrupar elementos com características comuns |
| Seleção CSS | #nome-do-id |
.nome-da-classe |
| Seleção JS | document.getElementById('id') |
document.getElementsByClassName('class') ou document.querySelectorAll('.class') |
| Prioridade CSS | Alta (especificidade) | Média (especificidade) |
| Uso comum | Seções únicas (cabeçalho, rodapé), âncoras, alvos de JS. | Componentes reutilizáveis (cards, botões), variações de estilo, utilitários CSS. |
Boas práticas:
- Prefira
class: Na maioria dos casos,classé a escolha mais flexível e recomendada. Useidcom moderação, apenas quando realmente precisar de um identificador único. - Evite IDs para estilização: Embora você possa estilizar
com
id, isso aumenta a especificidade do CSS, tornando-o mais difícil de sobrescrever e reutilizar.classé melhor para estilos. - Use
idpara JavaScript e âncoras:idé excelente para referenciar um elemento específico com JavaScript ou para criar links internos na página.
Combinando IDs e Classes
Um elemento pode ter um id e uma ou mais classs ao mesmo tempo.
<div id="secao-principal" class="container-fluid bg-light">
<!-- Conteúdo da seção principal -->
</div>
Neste exemplo, secao-principal é um identificador único para
JavaScript ou âncoras, enquanto container-fluid e bg-light
são classes CSS que aplicam estilos de layout e cor de fundo.
Resumindo
id:- Identificador único para um elemento na página.
- Usado para seleção precisa (CSS
#, JSgetElementById()) e links internos (<a href="#id">). - Use com moderação, principalmente para JavaScript e âncoras.
class:- Nome de categoria que pode ser aplicado a múltiplos elementos.
- Um elemento pode ter várias classes.
- Usado para agrupar elementos para estilização (CSS
.) e manipulação com JavaScript. - Prefira
classpara a maioria das estilizações.
- Ambos são atributos essenciais para tornar seus elementos HTML alvos para CSS e JavaScript, permitindo criar páginas dinâmicas e visualmente ricas.