Seletor de Classe: Dando um 'sobrenome' aos elementos
Descubra como usar classes para agrupar e estilizar elementos que compartilham características, independentemente do tipo.
Na lição anterior, você aprendeu sobre o seletor de tipo, que estiliza todos os elementos de um mesmo tipo (todos os <p>, todos os <h1>, etc.). Mas e se você quiser estilizar apenas alguns parágrafos de uma forma, e outros parágrafos de outra forma? Ou talvez estilizar um <h1> e um <p> com o mesmo estilo, mesmo sendo de tipos diferentes?
É aí que entra o seletor de classe. Pense nas classes como sobrenomes que você pode dar aos seus elementos HTML. Assim como várias pessoas da mesma família podem ter o mesmo sobrenome, vários elementos HTML (mesmo de tipos diferentes) podem compartilhar a mesma classe.
Como funciona o Seletor de Classe
Para usar um seletor de classe, você precisa de duas coisas:
- No HTML: Adicionar o atributo
classao(s) elemento(s) que você quer estilizar, dando um nome para essa classe. - No CSS: Usar um ponto (
.) seguido do nome da classe para selecionar esses elementos.
Sintaxe no HTML:
<tag class="nome-da-classe">Conteúdo</tag>
Sintaxe no CSS:
.nome-da-classe {
propriedade: valor;
}
Exemplo:
Imagine que você tem um HTML com vários parágrafos e um título, e quer destacar alguns deles.
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Seletor de Classe</title>
<style>
/* Aqui vamos definir o CSS */
</style>
</head>
<body>
<h1>Título Principal</h1>
<p>Este é um parágrafo normal.</p>
<p class="destaque">Este parágrafo está em destaque!</p>
<p>Outro parágrafo normal.</p>
<h2 class="destaque">Este subtítulo também está em destaque!</h2>
</body>
</html>
Agora, no seu bloco <style> (ou arquivo CSS externo), você pode criar uma regra para a classe destaque:
.destaque {
color: purple;
font-weight: bold;
background-color: #f0e6fa; /* Um roxo bem clarinho */
padding: 5px;
}
Resultado:
- O parágrafo com
class="destaque"ficará com texto roxo, em negrito, com fundo roxo claro e um pequeno espaçamento interno. - O subtítulo
<h2>comclass="destaque"também receberá os mesmos estilos, mesmo sendo um tipo de elemento diferente do parágrafo.
Múltiplas Classes em um Elemento
Um elemento HTML pode ter várias classes! Basta separá-las por um espaço no atributo class.
Exemplo no HTML:
<p class="destaque texto-pequeno">Este parágrafo tem dois sobrenomes!</p>
No CSS, você pode ter regras para cada classe:
.destaque {
color: purple;
font-weight: bold;
}
.texto-pequeno {
font-size: 0.8em; /* 80% do tamanho da fonte padrão */
}
Resultado: O parágrafo terá o texto roxo e negrito (da classe destaque) E o tamanho da fonte será menor (da classe texto-pequeno). As propriedades de classes diferentes se combinam!
Combinando Seletores de Tipo e Classe
Você também pode combinar um seletor de tipo com um seletor de classe para ser ainda mais específico.
Sintaxe:
nome-da-tag.nome-da-classe {
propriedade: valor;
}
Exemplo:
p.destaque {
border: 1px solid purple; /* Adiciona uma borda apenas aos parágrafos com a classe destaque */
}
h2.destaque {
text-transform: uppercase; /* Transforma o texto em maiúsculas apenas nos h2 com a classe destaque */
}
Resultado:
- Apenas os parágrafos com a classe
destaqueterão uma borda roxa. - Apenas os
<h2>com a classedestaqueterão seu texto em maiúsculas. - Os estilos gerais da classe
.destaque(cor, negrito, fundo) ainda serão aplicados a ambos.
Quando usar o Seletor de Classe?
O seletor de classe é extremamente versátil e é a forma mais comum de aplicar estilos no CSS. Use-o quando:
- Você quer aplicar o mesmo estilo a vários elementos, independentemente do seu tipo.
- Você quer aplicar estilos diferentes a elementos do mesmo tipo.
- Você quer ter um alto nível de reutilização de estilos.
Vantagens:
- Flexibilidade: Permite estilizar grupos de elementos de forma muito flexível.
- Reutilização: Uma classe pode ser aplicada a quantos elementos você quiser, em qualquer lugar da página.
- Semântica: Os nomes das classes podem descrever a função ou o propósito do elemento, não apenas sua aparência (ex:
alerta,menu-item,card). - Especificidade média: Mais específico que o seletor de tipo, mas menos que o seletor de ID.
Desvantagens:
- Se usado em excesso sem um bom planejamento, pode levar a um HTML com muitas classes e um CSS difícil de gerenciar. (Mas isso é mais um problema de organização do que do seletor em si).
O seletor de classe é a sua ferramenta principal para dar personalidade e estilo aos seus elementos HTML de forma organizada e reutilizável.