Estou tendo um problema estranho com o Tailwind e suas transições. Tenho uma div pai com uma cor de fundo que muda dependendo do estado ativo. Ela tem uma transição e funciona perfeitamente.
Dentro dessa div, tenho um "ponto" que alterna entre estar à esquerda e à direita, dependendo do seu estado ativo. A transição aqui não funciona.
Não sei por que a transição da segunda div não está funcionando. Tentei alterar o código para uma div absoluta, alternando entre esquerda-1 e direita-1, mas também não funcionou.
<div
className={`flex items-center ${
activeState ? "bg-red-400 " : "bg-gray-600 "
} w-11 h-6 rounded-full transition-all px-[2px]`}
>
<div
className={`bg-white w-5 h-5 rounded-full ${
activeState ? "ml-auto" : "mr-auto"
} transition-all`}
></div>
</div>
Em vez de usar margens, você pode facilmente
translate
mover o controle deslizante para a largura total0
ou para fora dela.100%