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.

Updated on