Pular para o conteúdo

Tailwind sem bagunça: estados hover, focus, active e disabled do jeito certo

Botão sem foco visível, link sem hover, campo desabilitado que parece ativo. Veja como organizar estados interativos com Tailwind de forma consistente.

Por Equipe We Codex3 min de leitura

O Tailwind deixa fácil estilizar o estado normal de um componente. Os outros estados — hover, foco, pressionado, desabilitado, carregando, erro — são esquecidos com frequência. E são eles que fazem a interface parecer viva e confiável.

Todo elemento interativo tem pelo menos seis estados

  1. 1.Normal
  2. 2.Hover (no desktop)
  3. 3.Focus-visible (navegação por teclado)
  4. 4.Active (no momento do clique ou toque)
  5. 5.Disabled
  6. 6.Loading ou erro, quando aplicável

Um botão completo

tsx
<button className="h-12 rounded-full bg-neon px-6 font-medium text-ink
  transition-all duration-300
  hover:bg-neon-soft
  focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-neon
  active:scale-[0.97]
  disabled:pointer-events-none disabled:opacity-40">
  Enviar
</button>

Organize para não repetir

Estados não devem ser copiados em cada tela. Centralize em componentes (Button, Input) ou variantes — o caminho de Componentes reutilizáveis no React: como evitar o "Button2Final" e de um design system (Design System na prática: como padronizar a UX/UI de produtos digitais ao nível Apple/Stripe).

Detalhes que fazem diferença

Interfaces completas são padrão nos sites e sistemas da We Codex. Fale com a gente.

  • Tailwind CSS
  • UX/UI
  • Acessibilidade
  • Componentes
CompartilharWhatsAppLinkedIn

Resolver de vez, com quem faz isso todo dia

Seu site precisa carregar em menos de um segundo e converter mais?

Este artigo mostra o caminho. A implementação sob medida — o detalhe que muda o resultado no seu caso — é o trabalho da We Codex, empresa de engenharia do grupo Wocom.