CSS: Conheça os pseudo-elementos

Esta documentação apresenta os pseudo-elementos do CSS, recurso que possibilita a inserção e customização de conteúdo do elemento HTML selecionado.

Os pseudo-elementos nos permitem selecionar algumas áreas internas de um elemento HTML e customizá-las através de propriedades. Selecionar a área que antecede o conteúdo de um elemento adicionando a ela texto ou imagens, ou estilizar apenas a primeira linha de um elemento de texto são apenas algumas das possibilidades criadas por esse recurso.


Saiba mais: CSS Tutorial


Neste documento falaremos sobre todos os pseudo-elementos do CSS: ::first-line, ::first-letter, ::before, ::after e ::selection.

Tópicos

Sintaxe
::first-line
::first-letter
::before
::after
::selection
Exemplo prático

Sintaxe

Para utilizar um pseudo-elemento basta declarar o seletor seguido pelo pseudo-elemento desejado. Logo após, da mesma forma que é feito com qualquer regra CSS, podemos definir as propriedades a ele relacionadas.

Sintaxe de declaração de um pseudo-elemento:

[seletor]::pseudo-elemento { propriedade : valor; }

::first-line

O pseudo-elemento ::first-line é utilizado quando desejamos customizar o conteúdo apresentado na primeira linha de um elemento. Assim, podemos estilizar esse fragmento de texto de forma independente, aplicando, por exemplo, um tamanho de fonte diferente.

Exemplo de uso:

p::first-line { font-size: 16px; }

Run
Nota: É importante ressaltar que não há uma maneira trivial de definir até onde o texto será estilizado, principalmente quando lidamos com páginas responsivas. Ao redimensionar uma página, a primeira linha pode se tornar maior ou menor, e isso também depende de outros fatores, como o tamanho da fonte, espaçamento entre palavras, entre outros.

::first-letter

O pseudo-elemento ::first-letter nos permite selecionar a primeira letra do conteúdo de um elemento. Usamos esse recurso quando desejamos destacar essa letra alterando seu tamanho e sua cor, por exemplo.

Exemplo de uso:

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>

p::first-letter { color: red; font-size: 32px; }

Run

Em alguns casos esse recurso pode identificar que algum caractere deve ser selecionado junto com a primeira letra, como quando temos aspas no início do texto.

Quando isso acontece, tanto as aspas duplas quanto a primeira letra serão selecionadas e estilizadas. Essa característica se deve ao fato de ::first-letter tentar se adequar às particularidades da escrita de cada idioma.

::before

A declaração do pseudo-elemento ::before em um seletor cria um falso elemento que nos permite adicionar conteúdo antes do conteúdo do elemento selecionado.

Exemplo de uso:

<div> Texto dentro do elemento. </div>

div::before { content: “pseudo-elemento ::before”; color: blue; }

Run

Nesse exemplo o texto “pseudo-elemento ::before” será apresentado antes do conteúdo “Texto dentro do elemento” e na cor azul. Para isso declaramos as propriedades content e color como regras do pseudo-elemento.

::after

Assim como ::before, o pseudo-elemento ::after também cria um falso elemento que nos permite adicionar conteúdo ao elemento selecionado, mas desta vez no final dele.

Exemplo de uso:

<div> Texto dentro do elemento. </div>

div::after { content: "pseudo-elemento ::after"; color: red; } ;

Run

Nesse exemplo usamos o ::after para acrescentar uma frase após o conteúdo já presente no elemento <div>.

::selection

O pseudo-elemento ::selection é utilizado para selecionar o conteúdo de um elemento e, a partir disso, customizar algumas propriedades dessa área, como a cor de fundo e do texto.

Exemplo de uso:

p::selection { color: red; }

Nesse caso, todo texto declarado nos elementos <p> de uma página HTML terá a cor vermelha.

Nota: É importante ressaltar que apenas um pequeno conjunto de propriedades do CSS pode ser utilizado com esse pseudo-elemento. Entre essas propriedades podemos destacar: color, background-color, cursor e text-decoration. Em alguns navegadores ainda podemos utilizar: outline e text-shadow. Quando uma propriedade não puder ser renderizada ela será ignorada.

Exemplo prático

É comum encontrarmos citações em artigos com o objetivo de enriquecer o texto com informações de outros autores. Nestes casos, para destacar esse conteúdo externo normalmente aumentamos o tamanho da fonte utilizada nas aspas duplas que o precedem.

Para obter esse resultado podemos utilizar o pseudo-elemento ::before, como apresentado no código abaixo:

<blockquote>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </blockquote>

blockquote { display: inline; } blockquote::before { content: open-quote; font-size: 4em; line-height: 0.1em; vertical-align: -0.35em; }

Run

Para aprofundar seus estudos sobre CSS:

Artigos relacionados