5.5.2 Pseudo-elementos & Seletores Avançados no CSS
Pseudo-elementos estilizam partes específicas de um elemento sem precisar alterar o HTML diretamente.
🔹 ::before e ::after
Permitem inserir conteúdo artificial antes ou depois de um elemento.
::before
Insere conteúdo antes do elemento
::after
Insere conteúdo depois do elemento
Exemplo:
cssCopiarEditarh1::before {
content: "👉 ";
}
h1::after {
content: " 👈";
}💡 Isso adiciona emojis antes e depois do título sem mudar o HTML!
🔹 ::selection
::selectionAplica estilo ao texto selecionado pelo usuário (como quando ele arrasta o mouse sobre o texto).
cssCopiarEditar::selection {
background: yellow;
color: black;
}🔹 ::first-line e ::first-letter
::first-line e ::first-letterUsados para estilizar a primeira linha ou a primeira letra de um bloco de texto.
🚀 Seletores Avançados (CSS3+)
🔹 :has() – Seletor Parental (experimental)
:has() – Seletor Parental (experimental)Seleciona um elemento pai que contém um elemento específico.
💡 Aplica borda a <article> apenas se contiver uma <img>.
⚠️ Suporte ainda limitado em alguns navegadores. Teste antes!
🔹 :is() – Agrupamento inteligente
:is() – Agrupamento inteligenteSimplifica a escrita de seletores múltiplos com a mesma regra.
🔹 É útil para evitar repetição e aumentar a legibilidade.
🔹 :where() – Sem especificidade
:where() – Sem especificidadeIgual ao :is(), mas com zero peso de especificidade. Ideal para estilos padrão e resets.
🔹 :empty – Elemento sem conteúdo
:empty – Elemento sem conteúdoSeleciona elementos vazios (sem filhos ou texto).
💡 Oculta automaticamente <div> sem conteúdo.
Atualizado

