CSS - Pseudo Classes

As pseudo classes CSS são usadas para adicionar efeitos especiais a alguns seletores. Você não precisa usar JavaScript ou qualquer outro script para usar esses efeitos. Uma sintaxe simples de pseudo classes é a seguinte -

selector:pseudo-class {property: value}

As classes CSS também podem ser usadas com pseudo-classes -

selector.class:pseudo-class {property: value}

As pseudo classes mais comumente usadas são as seguintes -

Sr. Não. Valor e descrição
1

:link

Use esta classe para adicionar um estilo especial a um link não visitado.

2

:visited

Use esta classe para adicionar um estilo especial a um link visitado.

3

:hover

Use esta classe para adicionar um estilo especial a um elemento ao passar o mouse sobre ele.

4

:active

Use esta classe para adicionar um estilo especial a um elemento ativo.

5

:focus

Use esta classe para adicionar um estilo especial a um elemento enquanto o elemento tem o foco.

6

:first-child

Use esta classe para adicionar estilo especial a um elemento que é o primeiro filho de algum outro elemento.

7

:lang

Use esta classe para especificar um idioma a ser usado em um elemento especificado.

Ao definir pseudo-classes em um bloco <style> ... </style>, os seguintes pontos devem ser observados -

  • a: hover DEVE vir depois de um: link e a: visitado na definição CSS para ser eficaz.

  • a: active DEVE vir após a: hover na definição de CSS para ser eficaz.

  • Os nomes das pseudoclasses não diferenciam maiúsculas de minúsculas.

  • As pseudo classes são diferentes das classes CSS, mas podem ser combinadas.

A pseudo classe: link

O exemplo a seguir demonstra como usar a classe : link para definir a cor do link. Os valores possíveis podem ser qualquer nome de cor em qualquer formato válido.

<html>
   <head>
      <style type = "text/css">
         a:link {color:#000000}
      </style>
   </head>

   <body>
      <a href = "">Black Link</a>
   </body>
</html>

Ele produzirá o seguinte link preto -

A: pseudo classe visitada

A seguir está o exemplo que demonstra como usar a classe : visitado para definir a cor dos links visitados. Os valores possíveis podem ser qualquer nome de cor em qualquer formato válido.

<html>
   <head>
      <style type = "text/css">
         a:visited {color: #006600}
      </style>
   </head>

   <body>
      <a href = "">Click this link</a>
   </body>
</html>

Isso produzirá o seguinte link. Depois de clicar neste link, ele mudará sua cor para verde.

A pseudo classe: hover

O exemplo a seguir demonstra como usar a classe : hover para alterar a cor dos links quando colocamos o ponteiro do mouse sobre o link. Os valores possíveis podem ser qualquer nome de cor em qualquer formato válido.

<html>
   <head>
      <style type = "text/css">
         a:hover {color: #FFCC00}
      </style>
   </head>

   <body>
      <a href = "">Bring Mouse Here</a>
   </body>
</html>

Ele produzirá o seguinte link. Agora você passa o mouse sobre este link e verá que ele muda de cor para amarelo.

A: pseudo classe ativa

O exemplo a seguir demonstra como usar a classe : active para alterar a cor dos links ativos. Os valores possíveis podem ser qualquer nome de cor em qualquer formato válido.

<html>
   <head>
      <style type = "text/css">
         a:active {color: #FF00CC}
      </style>
   </head>

   <body>
      <a href = "">Click This Link</a>
   </body>
</html>

Ele produzirá o seguinte link. Quando um usuário clica nele, a cor muda para rosa.

A pseudo classe: focus

O exemplo a seguir demonstra como usar a classe : focus para alterar a cor dos links focados. Os valores possíveis podem ser qualquer nome de cor em qualquer formato válido.

<html>
   <head>
      <style type = "text/css">
         a:focus {color: #0000FF}
      </style>
   </head>

   <body>
      <a href = "">Click this Link</a>
   </body>
</html>

Ele produzirá o seguinte link. Quando este link é focalizado, sua cor muda para laranja. A cor muda de volta quando perde o foco.

A: pseudoclasse do primeiro filho

A pseudo classe : first-child corresponde a um elemento especificado que é o primeiro filho de outro elemento e adiciona um estilo especial a esse elemento que é o primeiro filho de algum outro elemento.

Para fazer: o trabalho do primeiro filho no IE <! DOCTYPE> deve ser declarado no início do documento.

Por exemplo, para indentar o primeiro parágrafo de todos os elementos <div>, você pode usar esta definição -

<html>
   <head>
      <style type = "text/css">
         div > p:first-child {
            text-indent: 25px;
         }
      </style>
   </head>

   <body>
   
      <div>
         <p>First paragraph in div. This paragraph will be indented</p>
         <p>Second paragraph in div. This paragraph will not be indented</p>
      </div>
      <p>But it will not match the paragraph in this HTML:</p>
      
      <div>
         <h3>Heading</h3>
         <p>The first paragraph inside the div. This paragraph will not be effected.</p>
      </div>
      
   </body>
</html>

Isso produzirá o seguinte resultado -

A pseudo classe: lang

A pseudo-classe de idioma: lang , permite construir seletores com base na configuração de idioma para tags específicas.

Esta classe é útil em documentos que devem apelar a vários idiomas que têm convenções diferentes para certas construções de linguagem. Por exemplo, o idioma francês normalmente usa colchetes angulares (<e>) para fins de citação, enquanto o idioma inglês usa aspas ('e').

Em um documento que precisa abordar essa diferença, você pode usar a pseudoclasse: lang para alterar as aspas de forma adequada. O código a seguir altera a tag <blockquote> apropriadamente para o idioma que está sendo usado -

<html>
   <head>
      <style type = "text/css">
         
         /* Two levels of quotes for two languages*/
         :lang(en) { quotes: '"' '"'  "'"  "'"; }
         :lang(fr) { quotes: "<<" ">>" "<" ">"; }
      </style>
   </head>
   
   <body>
      <p>...<q lang = "fr">A quote in a paragraph</q>...</p>
   </body>
</html>

Os seletores: lang serão aplicados a todos os elementos do documento. No entanto, nem todos os elementos usam a propriedade aspas, então o efeito será transparente para a maioria dos elementos.

Isso produzirá o seguinte resultado -