Centralizar elementos é uma das tarefas mais comuns durante o desenvolvimento de interfaces. Felizmente, o Tailwind CSS oferece diversas classes utilitárias que tornam esse processo simples e intuitivo.
Neste tutorial você aprenderá como centralizar uma div com Tailwind CSS utilizando Flexbox, Grid e outras técnicas.
A forma mais simples é utilizar a classe mx-auto.
<div class="w-64 mx-auto bg-blue-500 text-white p-4 rounded">
Conteúdo centralizado
</div>
Importante: a div precisa possuir uma largura definida.
O método mais utilizado é através do Flexbox.
<div class="flex justify-center items-center h-screen">
<div class="bg-blue-500 text-white p-6 rounded">
Conteúdo centralizado
</div>
</div>
Esse método é ideal para:
Outra solução bastante elegante é utilizar Grid.
<div class="grid place-items-center h-screen">
<div class="bg-green-500 text-white p-6 rounded">
Conteúdo centralizado
</div>
</div>
A classe place-items-center centraliza tanto na horizontal quanto na vertical.
<div class="flex items-center h-screen">
<div class="bg-gray-800 text-white p-6 rounded">
Conteúdo
</div>
</div>
Neste exemplo apenas o alinhamento vertical será aplicado.
<div class="flex justify-center">
<div class="bg-indigo-500 text-white p-6 rounded">
Conteúdo
</div>
</div>
<div class="text-center">
Olá Mundo!
</div>
A classe text-center é utilizada apenas para alinhar textos.
<img src="imagem.jpg"
class="mx-auto rounded-lg"
alt="Imagem">
O mx-auto também funciona perfeitamente para imagens.
<div class="text-center">
<button class="bg-blue-600 text-white px-6 py-2 rounded">
Enviar
</button>
</div>
Outra opção:
<div class="flex justify-center">
<button class="bg-green-600 text-white px-6 py-2 rounded">
Salvar
</button>
</div>
<div class="flex justify-center items-center h-96 bg-gray-100">
<div class="bg-blue-500 text-white p-6 rounded">
Div Centralizada
</div>
</div>
Essa técnica é bastante utilizada em:
<div class="min-h-screen flex justify-center items-center bg-gray-100">
<div class="bg-white shadow-lg rounded-lg p-8 w-96">
<h2 class="text-2xl font-bold mb-4">
Login
</h2>
<input
class="border w-full p-2 rounded mb-4"
placeholder="E-mail">
<button
class="bg-blue-600 text-white w-full p-2 rounded">
Entrar
</button>
</div>
</div>
Isso não funciona corretamente:
<div class="mx-auto">
Conteúdo
</div>
O correto é:
<div class="w-64 mx-auto">
Conteúdo
</div>
Para centralizar verticalmente, utilize:
<div class="min-h-screen flex justify-center items-center">
Lembre-se:
Agora você já sabe como centralizar uma div com Tailwind CSS utilizando diferentes abordagens. Para layouts modernos, o Flexbox continua sendo a opção mais utilizada, enquanto o CSS Grid oferece uma solução elegante e extremamente simples para centralizar elementos em ambos os eixos.
Escolha a técnica que melhor se adapta ao seu projeto e aproveite as classes utilitárias do Tailwind CSS para criar interfaces responsivas e organizadas.