Domine Pseudo-classes CSS: :hover, :focus, e :nth-child()

As pseudo-classesSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. são palavras-chave adicionadas aos seletores que especificam um estado especial de um elemento. Diferente de classes que você mesmo atribui no HTML, as pseudo-classesSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. são determinadas dinamicamente, conforme o comportamento do usuário ou a posição do elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. dentro da árvore do documento.

Neste tutorial, vamos explorar três das pseudo-classesSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. mais utilizadas no CSS:

:hover🔗

A pseudo-classeSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. :hover é acionada quando o usuário posiciona o cursor sobre um elemento específico, como um botão ou um link. Essa pseudo-classeSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. é muito utilizada para criar efeitos visuaisAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes, destacando elementosTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. ao passar o mouse.

Exemplo de Uso:

/* Suponha que tenhamos um botão com a classe .botao */
.botao {
  background-color: #4CAF50;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border: none;
  cursor: pointer;
}
/* Muda a cor do botão quando o cursor está em cima dele */
.botao:hover {
  background-color: #45a049;
}

Aqui, assim que o mouse se move para cima do botão, o fundo ganha uma corSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. diferente, indicando ao usuário que existe uma interação disponível.

:focus🔗

A pseudo-classeSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. :focus é acionada quando o elemento está “focado”. Esse estado ocorre, por exemplo, ao clicar ou navegar até um campo de textoCampos de Entrada: `<input type='text'>`, `password`, `email`Campos de Entrada: `<input type='text'>`, `password`, `email`Este tutorial ensina os conceitos essenciais de inputs text, password e email, demonstrando atributos e boas práticas para formulários em HTML. ou um botão via teclado (usando as setas ou a tecla Tab). É possível estilizar o foco para melhorar a acessibilidadeInserindo Imagens: `<img>`, Formatos, `alt` e `title`Inserindo Imagens: `<img>`, Formatos, `alt` e `title`Aprenda a inserir imagens em HTML utilizando a tag <img> com foco em acessibilidade e performance, explorando atributos, formatos e melhores práticas. e a usabilidade, mostrando claramente onde o usuário está interagindo na página.

Exemplo de Uso:

/* Suponha que tenhamos um campo de texto dentro de um formulário */
input[type="text"] {
  border: 1px solid #ccc;
  padding: 8px;
  outline: none; /* Remove o contorno padrão do navegador */
}
/* Destaca a borda do campo quando ele está em foco */
input[type="text"]:focus {
  border: 1px solid #4CAF50;
}

Neste exemplo, assim que o usuário clica ou navega para o campo de textoCampos de Entrada: `<input type='text'>`, `password`, `email`Campos de Entrada: `<input type='text'>`, `password`, `email`Este tutorial ensina os conceitos essenciais de inputs text, password e email, demonstrando atributos e boas práticas para formulários em HTML., sua borda muda de cor, indicando o estado de foco.

:nth-child()🔗

A pseudo-classeSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. :nth-child() permite que você selecione elementosTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. com base em sua posição na árvore. Ela é muito versátil e permite padrões de repetição:

Exemplo de Uso:

/* Seleciona o segundo item de cada lista */
li:nth-child(2) {
  color: red;
}
/* Seleciona os itens pares */
li:nth-child(2n) {
  background-color: #f0f0f0;
}
/* Seleciona os itens ímpares */
li:nth-child(2n+1) {
  background-color: #ffffff;
}

Cada um desses seletores é aplicado em todos os lugares onde há um <li> (ou qualquer outro elemento que você estiver usando) como filho diretoCombinadores: Descendente, Filho Direto, Irmão Adjacente e GeralCombinadores: Descendente, Filho Direto, Irmão Adjacente e GeralAprenda a dominar os combinadores CSS e a selecionar elementos com precisão no seu HTML. Descubra como aplicar estilos eficientes e organizados em seu site. de outro elemento-pai. Assim, você consegue alternar estilos de forma sistemática.

Comparativo das Três Pseudo-classes🔗

Pseudo-classeDescriçãoExemplo de uso
:hoverQuando o cursor do mouse está sobre o elemento.menu-item:hover { background-color: #ddd; }
:focusQuando o elemento está em foco (ao clicar ou navegar via teclado)input:focus { border: 2px solid #4CAF50; }
:nth-child()Quando o elemento é selecionado pela sua posição dentro do elemento-paili:nth-child(2n) { background-color: #efefef; }

Dicas Importantes🔗

1. Ordem dos estados: Geralmente, para links, a ordem recomendada é:

1. :linkestiloRelação entre HTML e CSSRelação entre HTML e CSSDescubra como HTML e CSS trabalham juntos para criar páginas web esteticamente agradáveis e bem estruturadas, facilitando a manutenção e o desempenho. de link não visitado

2. :visited – link já visitado

3. :hover – quando o mouse está sobre o link

4. :focus – quando o link está em foco

5. :active – quando o link é clicado

Embora nem todos esses estados sejam foco deste tutorial, é importante saber que a ordem afeta o funcionamento das pseudo-classesSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos..

2. Interação com JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente.: Estados como :hover e :focus podem ser monitorados via JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente., caso você precise de comportamentos mais avançados.

3. Efeitos de destaque: Combinar :hover com transiçõesTransições: transition-property, transition-duration, timing-functionTransições: transition-property, transition-duration, timing-functionTransforme sua interface com transições em CSS. Aprenda a aplicar transition-property, duration e timing-function para criar animações suaves e modernas. e animações pode deixar a experiência do usuário mais agradável. Use transition: all 0.3s; para passar de um estado a outro de forma suave.

4. Armadilhas de :nth-child(): Lembre-se de que :nth-child() seleciona com base na ordem real no HTML, não na ordem de exibição via CSS (caso haja reordenação). Isso significa que a contagem começa no primeiro elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis.-filho naquele momento no DOM.

Com essas pseudo-classesSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos., você consegue enriquecer a experiência do usuário ao dar feedback visual em botões e campos de formulárioIntrodução a Formulários: `<form>`, `action`, `method`Introdução a Formulários: `<form>`, `action`, `method`Explore este tutorial sobre formulários HTML, conhecendo a função dos atributos action e method para envio seguro e organizado dos dados do usuário., além de controlar a estilização de elementosTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. em posições específicas. Essas técnicas são fundamentais para produzir páginas mais dinâmicas e bem organizadas.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados