Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Adicionando Efeitos de Hover e Foco | Seção
Estilizando Aplicações React com Tailwind CSS

bookAdicionando Efeitos de Hover e Foco

Deslize para mostrar o menu

Quando você deseja que seus componentes React sejam responsivos e interativos, fornecer feedback visual para as ações do usuário é essencial. O Tailwind CSS oferece um conjunto de modificadores utilitários baseados em estado, como hover:, focus: e active:, que permitem estilizar elementos de acordo com seu estado de interação. Esses modificadores são adicionados antes de qualquer classe utilitária e aplicam o estilo apenas quando o elemento está no estado correspondente.

  • O modificador hover: aplica estilos quando o usuário aponta para o elemento com o mouse ou dispositivo similar;
  • O modificador focus: é acionado quando o elemento, como um botão ou campo de entrada, recebe foco pelo teclado;
  • O modificador active: aplica estilos enquanto o elemento está sendo pressionado ou clicado.

Ao combinar esses modificadores com utilitários de transição e animação, é possível criar feedbacks suaves e envolventes para os usuários. Por exemplo, você pode querer que um botão mude a cor de fundo ao passar o mouse, adicione um anel ao receber foco e aumente ou diminua levemente ao ser pressionado. Essa abordagem mantém a interface consistente e acessível, já que usuários de teclado também se beneficiam dos estilos de foco.

Considere um componente Button simples em React. Você pode aprimorar sua interatividade e apelo visual utilizando as utilidades baseadas em estado do Tailwind diretamente no atributo className. Veja como você pode estilizar um botão para reagir às interações do usuário:

<button
  className="
    px-4 py-2 bg-blue-600 text-white rounded 
    transition duration-200 
    hover:bg-blue-700 
    focus:outline-none focus:ring-2 focus:ring-blue-400 
    active:scale-95
  "
>
  Click Me
</button>

Neste exemplo:

  • hover:bg-blue-700 escurece o botão ao passar o mouse;
  • focus:outline-none focus:ring-2 focus:ring-blue-400 remove o contorno padrão e adiciona um anel azul ao receber foco pelo teclado;
  • active:scale-95 diminui levemente o botão enquanto está pressionado;
  • transition duration-200 garante que essas mudanças de estado sejam animadas suavemente.

Esse padrão permite oferecer uma experiência polida e interativa, mantendo o código conciso e legível.

question mark

Qual modificador do Tailwind CSS você usaria para estilizar um botão quando ele estiver sob o cursor do mouse?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 9

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 9
some-alt