Arquitetura dos utilitários
O Tailwind CSS é estruturado com base em um sistema de classes utilitárias. Cada classe representa uma única responsabilidade de estilo e segue uma convenção de nomes simples, previsível e altamente consistente.
Essa arquitetura elimina a necessidade de criar nomes de classes personalizados, mantendo o CSS limpo, enxuto e altamente reutilizável.
Organização das classes #
As classes do Tailwind são divididas por função visual, não por componente. Isso torna a estrutura lógica e intuitiva.
Exemplos por categoria: #
| Categoria | Exemplo de Classe | Descrição |
| --------------- | -------------------------------------- | ------------------------------------------------ |
| Espaçamento | p-4, mt-2, gap-6 | Padding, margin, espaçamento entre elementos |
| Tipografia | text-xl, font-bold | Tamanho de fonte, peso, espaçamento entre linhas |
| Cores | bg-red-500, text-white | Cores de fundo, texto, borda |
| Layout | flex, grid, block | Definição de display e estrutura de layout |
| Tamanhos | w-64, h-32, max-w-sm | Largura, altura, tamanhos máximos |
| Bordas | rounded, border, border-gray-200 | Controle de bordas e contornos |
| Efeitos visuais | shadow-md, opacity-75 | Sombra, opacidade, blur, transições |
| Responsividade | md:flex, lg:hidden | Aplica estilos com base no tamanho da tela |
Convenção de nomes #
A nomenclatura segue um padrão lógico:
[propriedade]-[valor]Exemplos:
-
p-4: padding com valor 4 (1rem) -
text-blue-600: cor do texto azul no nível 600 -
rounded-lg: bordas arredondadas no tamanho grande -
grid-cols-3: grade com 3 colunas
Essa lógica permite ao desenvolvedor entender o que uma classe faz apenas olhando para ela.
Composição direta no HTML #
A arquitetura utility-first incentiva a composição direta de estilos combinando múltiplas classes no próprio HTML.
Exemplo:
<div class="bg-white shadow-md p-6 rounded-md max-w-md">
<h3 class="text-lg font-semibold text-gray-800">Título</h3>
<p class="text-sm text-gray-600 mt-2">Texto descritivo com espaçamento e hierarquia tipográfica.</p>
</div>Não é necessário declarar .card, .title ou .description em um CSS separado.
Variantes e estados #
O Tailwind também organiza suas utilitárias em variantes, como hover:, focus:, active: e breakpoints responsivos como sm:, md:, lg:.
Exemplo combinado:
<button class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded">
Salvar
</button>A combinação dessas variantes com as classes utilitárias é o que dá poder e flexibilidade ao Tailwind.
Na próxima página, vamos explorar o arquivo tailwind.config.js, que é o centro de personalização do framework.