O Tailwind CSS permite que você crie um tema visual completo para o seu projeto, organizando cores, fontes, espaçamentos, tamanhos e estilos em um único ponto central: o arquivo tailwind.config.js
.
Essa abordagem transforma seu projeto em um Design System vivo, onde todas as decisões visuais são documentadas e reaplicáveis, promovendo consistência e escalabilidade.
O que é um tema?
No contexto do Tailwind, um tema é a definição padronizada de tokens visuais, como:
-
Cores
-
Tipografia
-
Espaçamentos
-
Larguras e alturas
-
Bordas e sombras
-
Breakpoints
Esses tokens viram classes utilitárias, aplicadas diretamente no HTML.
Por que criar um tema?
-
Garante identidade visual unificada em toda a aplicação
-
Facilita a manutenção visual no longo prazo
-
Permite escalabilidade com diferentes componentes, marcas ou clientes
-
Prepara seu projeto para temas dinâmicos (ex: claro/escuro, multimarcas)
Estrutura recomendada de um tema
module.exports = {
theme: {
extend: {
colors: {
primary: {
DEFAULT: '#1e3a8a',
light: '#3b82f6',
dark: '#1e40af',
},
neutral: {
50: '#f8fafc',
900: '#0f172a',
}
},
fontFamily: {
heading: ['"Poppins"', 'sans-serif'],
body: ['"Open Sans"', 'sans-serif'],
},
spacing: {
'header': '4rem',
'footer': '6rem',
},
}
}
}
Aplicando o tema no HTML
<h1 class="text-primary text-3xl font-heading">Título principal</h1>
<p class="text-neutral-700 font-body">Texto do conteúdo.</p>
Temas dinâmicos (ex: multimarcas)
Você pode criar múltiplos temas com variações condicionais via classes, atributos ou variáveis CSS. Exemplo de estrutura com classe de tema:
<body class="theme-a"> <!-- ou theme-b -->
<div class="bg-theme-a-primary text-theme-a-foreground">...</div>
</body>
Nesse caso, você pode integrar com postcss-nested
, @layer
e variáveis CSS para alternar dinamicamente entre conjuntos de tokens.
Exemplo: tokens com CSS customizado
:root {
--color-primary: #1e3a8a;
--font-heading: 'Poppins', sans-serif;
}
.theme-b {
--color-primary: #10b981;
}
module.exports = {
theme: {
extend: {
colors: {
primary: 'var(--color-primary)',
},
fontFamily: {
heading: 'var(--font-heading)',
},
}
}
}
Dicas para organização avançada
-
Nomeie tokens de forma semântica (
primary
,success
,error
) e evite nomes genéricos comoblue
,spacing-1
, etc. -
Crie padrões de layout reutilizáveis com
@apply
-
Use plugins para consolidar utilitárias recorrentes
-
Pense em escalabilidade desde o início se o projeto atender múltiplos clientes ou marcas
Ferramentas úteis
-
Tailwind Play: playground online para testar temas
-
Figma Tokens Plugin: ideal para sincronizar tokens com o Tailwind
-
Style Dictionary: gera tokens multiplataforma
A personalização avançada com temas transforma seu projeto Tailwind em um sistema de design robusto, fácil de escalar e com identidade visual forte.