Diseña con confianza y velocidad: aprende a configurar Tailwind CSS en Astro y a extender el theme con colores, tipografías, espaciados y tamaños de fuente personalizados. La clave está en un tailwind.config.mjs bien definido y en aprovechar las clases de utilidad sin escribir CSS adicional.
¿Cómo configurar Tailwind CSS en Astro?
Astro genera el archivo de configuración en la raíz: tailwind.config.mjs. Desde ahí exporta la configuración por defecto y permite adaptarla a lo que el proyecto necesita. Tailwind trabaja en tiempo de compilación para leer las clases que usas y generar solo los estilos necesarios. Así mantienes el CSS optimizado.
¿Dónde vive tailwind.config.mjs y qué hace?
Está en la raíz del proyecto.
Exporta una configuración por defecto ajustable.
Permite integrar plugins y soporte para Tailwind CSS.
¿Qué archivos escanea Tailwind CSS?
Se define una regla de contenido dentro de "CRC" y en todos los niveles.
Detecta extensiones como .astro, .html, .js, .jsx, .md, .mdx.
Con esto, Tailwind reconoce las clases usadas y exporta los estilos necesarios.
// tailwind.config.mjsexportdefault{content:['./CRC/**/*.{astro,html,js,jsx,md,mdx}',],theme:{extend:{// aquí irán tus extensiones personalizadas},},plugins:[],}
¿Cómo extender el theme para colores, tipografías y espaciado?
Astro te deja personalizar y extender según tus necesidades. En theme.extend puedes crear configuraciones propias: colores de marca, familias tipográficas, spacing y font size. Así alineas la UI con el layout y la guía de estilo.
¿Cómo definir una paleta de colores primary con light, default y dark?
Crea un objeto de color primary con variantes.
Usa light para la versión clara, default como color principal y dark para la versión oscura.
Esta paleta suele venir del equipo de diseño y mantiene la coherencia visual.
// theme.extend.colorscolors:{primary:{light:'#fffffe',// tu color claro.default:'#ffdd00',// tu color principal.dark:'#222222',// tu color oscuro.},},
¿Cómo asignar font family para sans y heading?
Define fontFamily.sans con tu tipografía base, por ejemplo Inter.
Define fontFamily.heading para títulos, por ejemplo Ubuntu.
Incluye una segunda opción como sans-serif para mayor compatibilidad.
Si necesitas una regla fuera de los múltiplos de cuatro, agrega spacing propio.
Ejemplo: clave 72 con valor 18rem para espacios grandes.
Para texto muy pequeño, crea un font size "XXS" = 0.65rem y úsalo donde haga sentido.
// theme.extend.spacing y theme.extend.fontSizespacing:{72:'18rem',},fontSize:{XXS:'0.65rem',},
¿Cómo aplicar y verificar los cambios en componentes?
La magia está en usar las nuevas utilidades por su nombre. Lo que declares en colors, fontFamily, spacing y fontSize se invoca con sus prefijos de utilidad: text para tamaños, font para familias, bg o text para colores, gap/m-/p- para espaciados.
¿Cómo usar las clases de utilidad personalizadas en components/header?
Si el título tenía text-2xl y en small pasaba a 3xl, puedes probar con text-XXS para un caso puntual.
Evitas CSS inline o clases personalizadas sueltas.
Con estas prácticas, Tailwind queda 100% alineado a tu diseño y sigues aprovechando las clases de utilidad. ¿Qué otra extensión del theme te gustaría ver aplicada a tu proyecto con dark mode o UI específica? Cuéntalo en los comentarios.