📘 Aula 21 MD-2: Pseudo-elementos em CSS 📘
Introdução
Pseudo-elementos são seletores do CSS que permitem estilizar partes específicas de um elemento ou inserir conteúdo visual sem alterar o HTML.
Os principais são ::before e ::after (adicionam conteúdo antes ou depois de um elemento), ::first-letter (estiliza a primeira letra) e ::first-line (estiliza a primeira linha de um parágrafo).
Diferem das pseudo-classes, que reagem a estados do elemento, como :hover.
Exemplo prático: a::before { content: '🔥'; margin-right: 5px; }
Pseudo-elementos ::before e ::after
Adicionam conteúdo antes ou depois do conteúdo real de um elemento. É obrigatório definir a propriedade content
.
/* Exemplo de before e after */
.aula21-decorativo::before { content: '🔥'; margin-right: 5px; }
.aula21-decorativo::after { content: '✨'; margin-left: 5px; }
💡 Observe que os emojis aparecem sem alterar o HTML.
Pseudo-elemento ::first-letter
p::first-letter {
font-size: 2rem;
color: darkblue;
font-weight: bold;
}
Aqui a primeira letra é estilizada usando ::first-letter, criando destaque visual.
Pseudo-elemento ::first-line
p::first-line {
font-variant: small-caps;
color: rgb(32, 193, 252);
font-weight: bold;
}
Esta é a primeira linha de um parágrafo estilizada com ::first-line.
Classificando seletores em CSS: #ID, .Class, :Pseudo-class e ::Pseudo-element
Em CSS, é fundamental entender a diferença entre tipos de seletores para aplicar estilos de forma precisa.
#ID
Seletores de ID aplicam estilo a um único elemento que possua o atributo id
correspondente.
Sempre precedidos de #
.
<div id="cabecalho">Meu cabeçalho</div>
#cabecalho {
background-color: rgb(0, 120, 200);
color: white;
padding: 10px;
}
.Class
Seletores de classe aplicam estilo a um ou vários elementos que compartilhem a mesma classe.
Sempre precedidos de .
.
<div class="card">Card 1</div>
<div class="card">Card 2</div>
.card {
background-color: rgb(200, 220, 255);
padding: 10px;
border-radius: 5px;
}
:Pseudo-class
Seletores de pseudo-classe aplicam estilo a um elemento em um estado específico ou condição, como :hover
, :visited
ou :first-child
.
a:hover {
color: rgb(255, 0, 0);
text-decoration: underline;
}
::Pseudo-element
Seletores de pseudo-elemento aplicam estilo a uma parte específica do elemento ou adicionam conteúdo antes/depois sem alterar o HTML.
Exemplo: ::before
, ::after
, ::first-letter
, ::first-line
.
p::first-letter {
font-size: 2rem;
font-weight: bold;
color: darkblue;
}
p::after {
content: ' ✨';
}
Resumo
#ID
Único elemento, estilo exclusivo.
.Class
Um ou vários elementos, reutilizável.
:Pseudo-class
Estado específico de um elemento.
::Pseudo-element
Parte do elemento ou conteúdo extra.
Quadro comparativo de pseudo-elementos
::before
Adiciona conteúdo antes do elemento.
::after
Adiciona conteúdo depois do elemento.
::first-letter
Estiliza apenas a primeira letra de um bloco de texto.
::first-line
Estiliza apenas a primeira linha de um bloco de texto.
Exemplo prático com links
.aula21-link::before { content: '🔥'; margin-right: 5px; }
.aula21-link::after { content: '✨'; margin-left: 5px; }
Conclusão
Pseudo-elementos são recursos poderosos do CSS que permitem criar efeitos visuais sofisticados, destacar partes específicas de um elemento ou inserir conteúdo extra sem modificar o HTML.
Eles ampliam as possibilidades de design, tornando páginas mais interativas e esteticamente agradáveis, e ajudam a manter o código HTML mais limpo e sem redundâncias.
Exemplos como ::before, ::after, ::first-letter e ::first-line demonstram como pequenos detalhes podem melhorar a experiência do usuário.