Pseudo-Elementos

Usado para adicionar elementos extras na página, sem a necessidade de declará-lo no HTML, ou para selecionar uma parte de algum elemento.

É identificado por ::palavra-chave

First Letter

A propriedade ::first-letter permite estilizar a primeira letra da primeira linha de um parágrafo.

Propriedades disponíveis

  • color
  • backgound
  • margin
  • padding
  • border
  • font
  • text

Exemplo:

A primeira letra deste parágrafo foi estilizada com a cor vermelha e seu tamanho foi aumentado.

First Line

A propriedade ::first-line permite estilizar a primeira linha de um parágrafo.

Propriedades disponíveis

  • color
  • backgound
  • font
  • text

Exemplo:

Foi adicionado um background colorido a primeira linha deste parágrafo... Lorem ipsum dolor sit amet consectetur adipisicing elit. Quo ab reiciendis, eius dolore laboriosam voluptas! Est maxime illo voluptas deleniti eum architecto impedit, molestias odit vero sunt sapiente nemo voluptate?

Backdrop

A propriedade ::backdrop é usada para estilizar a área atrás de um elemento em tela cheia. É o espaço que fica entre o elemento e o restante da página.

Exemplo:

O video a seguir, quando visualizado em celular preenche o restante da tela com a cor violet.

Marker

A propriedade ::marker estiliza o marcador de lista de itens (bullets) li ou então a flecha de um elemento summary.

Symbols - copy and paste
Propriedades disponíveis
  • color
  • content
  • white-space
  • font
  • animation
  • transition

Exemplo:

A lista acima foi estilizada com o marker

Place-Holder

A propriedade ::placeholder permite estilizar o texto de placeholder de um campo de input.

Propriedades disponíveis

  • color
  • backgound
  • font
  • text

Exemplo:

Selection

A propriedade ::selection permite estilizar a área de texto selecionada pelo usuário.

Propriedades disponíveis

  • color
  • backgound-color
  • text

Exemplo:

Selecione este texto para ver as alterações.

File Selector Button

A propriedade ::file-selector-button permite estilizar o botão de upload de arquivos de um campo de input.

Exemplo:

Before e After

As propriedades ::before e ::after permitem adicionar conteúdo antes ou depois de um elemento, útil para decorar elementos com pseudo-elementos.

Exemplo 1:

Neste exemplo a adição dos símbolos foi feita via CSS, através da propriedade content.

Exemplo 1 Exemplo 2 Exemplo 3

Exemplo 2:

:hover

A pseudo-classe :hover aplica estilos quando o usuário passa o cursor sobre o elemento.

Passe o mouse para ver a imagem

:active

A pseudo-classe :active aplica estilos quando o elemento é clicado ou ativado.

:focus

As pseudo-classes :focus, :focus-within e :focus-visible são usadas para estilizar elementos com base em seu estado de foco em um documento HTML, mas com diferentes contextos de aplicação.

  • :focus

    Aplica estilos a qualquer elemento que receba foco, seja pelo teclado ou pelo mouse.

  • :focus-within

    Aplica estilos a um elemento contêiner quando ele ou um de seus filhos estiver focado.

  • :focus-visible

    Aplica estilos apenas quando o foco é obtido por meio de interações que justificam visualmente o indicador de foco, como navegação por teclado.

Exemplo:

Faça seu pedido! Escolha o sabor do sorvete que você deseja:

:target

A pseudo-classe :target estiliza o elemento que é o destino de um link com um identificador específico.

Exemplo:

Table of content

  1. Pular para o primeiro parágrafo
  2. Pular para o segundo parágrafo
  3. Esse link não vai para lugar nenhum

Meu artigo

Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim impedit laborum aliquam veniam illo non dicta porro voluptas asperiores assumenda nesciunt deleniti nam, natus velit laboriosam distinctio. Eius, illo veritatis!

Lorem ipsum dolor sit amet consectetur adipisicing elit. Veritatis non ipsum, neque optio sit in dignissimos vel adipisci repudiandae, iusto voluptatibus assumenda natus aperiam sapiente odit corrupti delectus! Tempora, ipsa!

:enabled e :disabled

A pseudo-classe :enabled aplica estilos a elementos habilitados, enquanto :disabled estiliza elementos desabilitados.

:placeholder-shown

A pseudo-classe :placeholder-shown estiliza um campo de input enquanto o placeholder está sendo exibido.

Exemplo:



:checked e :indeterminate

A pseudo-classe :checked estiliza checkboxes ou radios marcados, e :indeterminate estiliza checkboxes em estado indeterminado.

Exemplo:


:valid e :invalid

A pseudo-classe :valid estiliza inputs válidos e :invalid estiliza inputs inválidos com base em regras de validação.

(Digite um email válido)

:in-range e :out-of-range

A pseudo-classe :in-range estiliza inputs que estão dentro do intervalo definido e :out-of-range estiliza inputs que estão fora desse intervalo.

(Valores válidos de 18 a 60)

:required e :optional

A pseudo-classe :required estiliza campos obrigatórios e :optional estiliza campos opcionais em formulários.



:autofill

A pseudo-classe :autofill estiliza campos de formulário que foram preenchidos automaticamente pelo navegador.



:root

A pseudo-classe :root refere-se ao elemento raiz do documento, útil para definir variáveis CSS. Equivale a tag html.

É comum de ser usando no reset CSS e para criar variáveis e valores customizados.

:nth-child e :nth-of-type

A pseudo-classe :nth-child seleciona o elemento com base na posição de todos os filhos de seu elemento pai, independentemente do tipo de tag. Pode usar padrões como odd (ímpar), even (par), números exatos como 1, 2, múltiplos de um número como 3n+1 (onde n é o número do elemento).

A pseudo-classe :nth-of-type seleciona o elemento com base na posição de seu tipo específico, ou seja, leva em consideração apenas os elementos do mesmo tipo (como div ou p).

Exemplo:

Horário das Aulas

Dia Matéria 1 Matéria 2 Matéria 3
Segunda-feira Matemática História Ciências
Terça-feira Português Geografia Educação Física
Quarta-feira Química Física Artes
Quinta-feira Biologia Filosofia Sociologia
Sexta-feira Inglês Espanhol Literatura

:first-of-type e :last-of-type

A pseudo-classe :first-of-type estiliza o primeiro elemento de um tipo, e :last-of-type estiliza o último.

Eu sou uma div

Eu sou o primeiro parágrafo

Eu sou o segundo parágrafo

Eu sou o terceir parágrafo

Eu sou o último parágrafo

:only-child

A pseudo-classe :only-child aplica estilos ao único filho de um elemento.

Único item na lista

  • Item 01

Vários itens em uma lista

  • Item 01
  • Item 02
  • Item 03
  • Item 04

:empty

A pseudo-classe :empty estiliza elementos que não contêm filhos nem texto.

Exemplo: vai colocar borda rosa nos elementos "empty"

Elemento sem conteúdo

Elemento com comentário

Elemento com epaço em branco

Elemento com elemento vazio dentro dele.

Elemento com propriedade content:

:is

A pseudo-classe :is() simplifica a aplicação de estilos a vários seletivos de uma só vez.

:not

A pseudo-classe :not() aplica estilos a elementos que não correspondem ao seletor especificado.

:has

A pseudo-classe :has() estiliza elementos que contêm um ou mais elementos específicos como filhos.