Tutorial de CSS

CSS INÍCIO Introdução CSS Sintaxe CSS Seletores CSS CSS Como fazer Comentários CSS Cores CSS Planos de fundo CSS Bordas CSS Margens CSS Preenchimento CSS CSS Altura/Largura Modelo de caixa CSS Esboço CSS Texto CSS Fontes CSS Ícones CSS Links CSS Listas CSS Tabelas CSS Exibição CSS Largura máxima do CSS Posição CSS Índice Z CSS Estouro de CSS CSS flutuante Bloco CSS Inline Alinhamento CSS Combinadores CSS Pseudoclasse CSS Pseudoelemento CSS Opacidade CSS Barra de navegação CSS Listas suspensas de CSS Galeria de imagens CSS Sprites de imagem CSS Seletores de atributos CSS Formulários CSS Contadores CSS Layout do site CSS Unidades CSS Especificidade CSS CSS !importante Funções matemáticas CSS

CSS Avançado

Cantos arredondados CSS Imagens de borda CSS Planos de fundo CSS Cores CSS Palavras-chave de cores CSS Gradientes CSS Sombras CSS Efeitos de texto CSS Fontes da Web CSS Transformações CSS 2D Transformações CSS 3D Transições CSS Animações CSS Dicas de CSS Imagens de estilo CSS Reflexão de imagem CSS Ajuste de objeto CSS posição do objeto CSS Mascaramento CSS Botões CSS Paginação CSS CSS Múltiplas Colunas Interface de usuário CSS Variáveis ​​CSS Dimensionamento da caixa CSS Consultas de mídia CSS Exemplos de CSS MQ CSS Flexbox

Responsivo a CSS

Introdução ao RWD Janela de visualização RWD Visualização de Grade RWD Consultas de mídia RWD Imagens RWD Vídeos RWD Estruturas RWD Modelos RWD

Grade CSS

Introdução à grade Contêiner de Grade Item de grade

CSS SASS

Tutorial SASS

Exemplos de CSS

Modelos CSS Exemplos de CSS teste css Exercícios de CSS Certificado CSS

Referências CSS

Referência CSS Seletores CSS Funções CSS Aural de referência CSS Fontes CSS seguras para a Web CSS Animatable Unidades CSS CSS PX-EM Converter Cores CSS Valores de cores CSS Valores padrão de CSS Suporte ao navegador CSS

Pseudo-elementos CSS


O que são pseudo-elementos?

Um pseudoelemento CSS é usado para estilizar partes especificadas de um elemento.

Por exemplo, pode ser usado para:

  • Estilize a primeira letra, ou linha, de um elemento
  • Inserir conteúdo antes ou depois do conteúdo de um elemento

Sintaxe

A sintaxe dos pseudo-elementos:

selector::pseudo-element {
  property: value;
}

O ::Pseudo-elemento de primeira linha

O ::first-linepseudoelemento é usado para adicionar um estilo especial à primeira linha de um texto.

O exemplo a seguir formata a primeira linha do texto em todos os elementos <p>:

Exemplo 

p::first-line {
  color: #ff0000;
  font-variant: small-caps;
}

Nota: O ::first-linepseudoelemento só pode ser aplicado a elementos de nível de bloco.

As seguintes propriedades se aplicam ao ::first-line pseudoelemento:

  • propriedades da fonte
  • propriedades de cor
  • propriedades de fundo
  • espaçamento entre palavras
  • espaçamento entre letras
  • decoração de texto
  • alinhamento vertical
  • transformação de texto
  • altura da linha
  • Claro

Observe a notação de dois pontos - ::first-line versus :first-line

Os dois pontos substituiu a notação de dois pontos para pseudo-elementos em CSS3. Esta foi uma tentativa do W3C de distinguir entre pseudo-classes e pseudo-elementos .

A sintaxe de dois-pontos foi usada para pseudoclasses e pseudoelementos em CSS2 e CSS1.

Para compatibilidade com versões anteriores, a sintaxe de dois-pontos é aceitável para pseudoelementos CSS2 e CSS1.



O pseudo-elemento ::primeira letra

O ::first-letterpseudoelemento é usado para adicionar um estilo especial à primeira letra de um texto.

O exemplo a seguir formata a primeira letra do texto em todos os elementos <p>: 

Exemplo

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

Nota: O ::first-letterpseudoelemento só pode ser aplicado a elementos de nível de bloco.

As seguintes propriedades se aplicam ao pseudoelemento ::first-letter: 

  • propriedades da fonte
  • propriedades de cor 
  • propriedades de fundo
  • propriedades de margem
  • propriedades de preenchimento
  • propriedades de borda
  • decoração de texto
  • vertical-align (somente se "float" for "none")
  • transformação de texto
  • altura da linha
  • flutuador
  • Claro

Pseudo-elementos e classes HTML

Pseudo-elementos podem ser combinados com classes HTML: 

Exemplo

p.intro::first-letter {
  color: #ff0000;
  font-size: 200%;
}

O exemplo acima exibirá a primeira letra dos parágrafos com class="intro", em vermelho e em tamanho maior.


Vários pseudo-elementos

Vários pseudo-elementos também podem ser combinados.

No exemplo a seguir, a primeira letra de um parágrafo será vermelha, em um tamanho de fonte xx grande. O restante da primeira linha será azul e em versalete. O restante do parágrafo será o tamanho e a cor da fonte padrão:

Exemplo

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

p::first-line {
  color: #0000ff;
  font-variant: small-caps;
}

CSS - O ::antes do pseudo-elemento

O ::beforepseudoelemento pode ser usado para inserir algum conteúdo antes do conteúdo de um elemento.

O exemplo a seguir insere uma imagem antes do conteúdo de cada elemento <h1>:

Exemplo

h1::before {
  content: url(smiley.gif);
}

CSS - O ::depois do pseudo-elemento

O ::afterpseudoelemento pode ser usado para inserir algum conteúdo após o conteúdo de um elemento.

O exemplo a seguir insere uma imagem após o conteúdo de cada elemento <h1>:

Exemplo

h1::after {
  content: url(smiley.gif);
}

CSS - O pseudo-elemento ::marker

O ::markerpseudoelemento seleciona os marcadores dos itens da lista.

O exemplo a seguir estiliza os marcadores de itens de lista:

Exemplo

::marker {
  color: red;
  font-size: 23px;
}

CSS - O pseudo-elemento ::selection

O ::selectionpseudoelemento corresponde à parte de um elemento selecionado por um usuário.

As seguintes propriedades CSS podem ser aplicadas a ::selection: color, background, cursore outline.

O exemplo a seguir torna o texto selecionado vermelho em um fundo amarelo:

Exemplo

::selection {
  color: red;
  background: yellow;
}

Teste-se com exercícios

Exercício:

Defina a cor de fundo para vermelho, da primeira linha do parágrafo.

<style>
 {
  background-color: red;
}
</style>

<body>

<p class="intro">
In my younger and more vulnerable years
my father gave me some advice that I've
been turning over in my mind ever since.
'Whenever you feel like criticizing anyone,' he told me,
'just remember that all the people in this world
haven't had the advantages that you've had.'
</p>

</body>


Todos os pseudo elementos CSS

Selector Example Example description
::after p::after Insert something after the content of each <p> element
::before p::before Insert something before the content of each <p> element
::first-letter p::first-letter Selects the first letter of each <p> element
::first-line p::first-line Selects the first line of each <p> element
::marker ::marker Selects the markers of list items
::selection p::selection Selects the portion of an element that is selected by a user

Todas as pseudoclasses CSS

Selector Example Example description
:active a:active Selects the active link
:checked input:checked Selects every checked <input> element
:disabled input:disabled Selects every disabled <input> element
:empty p:empty Selects every <p> element that has no children
:enabled input:enabled Selects every enabled <input> element
:first-child p:first-child Selects every <p> elements that is the first child of its parent
:first-of-type p:first-of-type Selects every <p> element that is the first <p> element of its parent
:focus input:focus Selects the <input> element that has focus
:hover a:hover Selects links on mouse over
:in-range input:in-range Selects <input> elements with a value within a specified range
:invalid input:invalid Selects all <input> elements with an invalid value
:lang(language) p:lang(it) Selects every <p> element with a lang attribute value starting with "it"
:last-child p:last-child Selects every <p> elements that is the last child of its parent
:last-of-type p:last-of-type Selects every <p> element that is the last <p> element of its parent
:link a:link Selects all unvisited links
:not(selector) :not(p) Selects every element that is not a <p> element
:nth-child(n) p:nth-child(2) Selects every <p> element that is the second child of its parent
:nth-last-child(n) p:nth-last-child(2) Selects every <p> element that is the second child of its parent, counting from the last child
:nth-last-of-type(n) p:nth-last-of-type(2) Selects every <p> element that is the second <p> element of its parent, counting from the last child
:nth-of-type(n) p:nth-of-type(2) Selects every <p> element that is the second <p> element of its parent
:only-of-type p:only-of-type Selects every <p> element that is the only <p> element of its parent
:only-child p:only-child Selects every <p> element that is the only child of its parent
:optional input:optional Selects <input> elements with no "required" attribute
:out-of-range input:out-of-range Selects <input> elements with a value outside a specified range
:read-only input:read-only Selects <input> elements with a "readonly" attribute specified
:read-write input:read-write Selects <input> elements with no "readonly" attribute
:required input:required Selects <input> elements with a "required" attribute specified
:root root Selects the document's root element
:target #news:target Selects the current active #news element (clicked on a URL containing that anchor name)
:valid input:valid Selects all <input> elements with a valid value
:visited a:visited Selects all visited links