Esta página es para tenerla abierta mientras trabajas. Las clases están agrupadas por lo que hacen, y cada una dice qué propiedad de CSS escribe. No hay que memorizarlas: con los cinco patrones las vas a reconocer, y con el uso se quedan solas.

Cuando no encuentres una clase aquí

Busca en la documentación oficial el nombre de la propiedad de CSS que quieres (por ejemplo “text-decoration”): cada página muestra sus clases. Y con Tailwind CSS IntelliSense, al pasar el cursor sobre una clase en VSCode, ves el CSS que escribe.

Fondo

ClaseQué hace
bg-white · bg-blackFondo blanco o negro
bg-sky-700Fondo del color y tono indicados (cualquier color de la paleta)
bg-gray-50Fondo gris casi blanco: bueno para separar una sección del resto
bg-transparentSin fondo
bg-linear-to-r from-sky-600 to-indigo-600Degradado de izquierda a derecha, entre dos colores
<section class="bg-gray-50 py-12">…</section>

Color del texto

ClaseQué hace
text-gray-900Texto casi negro: títulos y texto principal
text-gray-700Texto de párrafos, un poco más suave
text-gray-600Texto secundario: fechas, notas, ayudas
text-whiteTexto blanco, sobre fondos oscuros
text-sky-700Texto del color principal: enlaces y vista activa
text-red-700 · text-green-700Mensajes de error y de éxito

Tamaño y forma del texto

ClaseQué hace
text-xs · text-sm · text-base · text-lg · text-xlLetra de 12, 14, 16, 18 y 20 px
text-2xl · text-3xl · text-4xl · text-5xlLetra de 24, 30, 36 y 48 px (títulos)
font-normal · font-medium · font-semibold · font-boldGrosor de 400, 500, 600 y 700
italicCursiva
font-sans · font-serif · font-monoFamilia sin serifa, con serifa o de ancho fijo
text-left · text-center · text-rightAlineación del texto
leading-tight · leading-normal · leading-relaxedInterlineado apretado, normal u holgado
tracking-tight · tracking-wideLetras más juntas o más separadas
uppercase · lowercase · capitalizeTodo en mayúsculas, en minúsculas o la primera de cada palabra
truncateCorta el texto que no cabe en una línea y pone …

text- sirve para dos cosas

text-2xl es un tamaño y text-gray-700 es un color. Se distinguen porque el color siempre lleva nombre y tono. Los dos conviven sin problema: class="text-2xl text-gray-700".

Subrayado y decoración

ClaseQué hace
underlineSubraya el texto
no-underlineQuita el subrayado
line-throughTacha el texto (un precio anterior, por ejemplo)
underline-offset-4Separa el subrayado del texto, para que no toque las letras
decoration-2Subrayado más grueso
decoration-sky-700Color del subrayado
<a href="sobre-mi.html" class="text-sky-700 underline underline-offset-4 hover:text-sky-900">
  Conoce mi trabajo
</a>

Dentro de un párrafo, el enlace va subrayado

Tailwind les quita el subrayado a todos los enlaces. En un menú no hace falta, pero dentro de un párrafo es lo que distingue un enlace del texto normal: devuélveselo con underline.

Espaciado

ClaseQué hace
p-4Relleno de 16 px en los cuatro lados
px-4 · py-2Relleno a los lados (izquierda y derecha) · arriba y abajo
pt-8 · pr-8 · pb-8 · pl-8Relleno de un solo lado: arriba, derecha, abajo, izquierda
m-4 · mx-4 · my-4Margen en los cuatro lados · a los lados · arriba y abajo
mt-8 · mb-4Margen de un solo lado
mx-autoCentra la caja en horizontal (necesita un ancho, como max-w-5xl)
gap-4Separación entre los hijos de un flex o un grid
space-y-4Separación vertical entre hijos que van uno bajo otro

Recuerda: el número por cuatro son los píxeles (p-4 son 16 px).

Ancho y alto

ClaseQué hace
w-fullAncho del 100% de su contenedor
w-1/2 · w-1/3La mitad o un tercio del ancho
w-64Ancho fijo de la escala (256 px)
max-w-md · max-w-3xl · max-w-5xlAncho máximo de 448, 768 y 1024 px
max-w-proseAncho máximo cómodo para leer párrafos (unos 65 caracteres)
h-48Alto fijo de la escala (192 px)
min-h-screenComo mínimo, el alto de la pantalla
size-12Ancho y alto iguales (48 px): íconos y fotos redondas

Bordes

ClaseQué hace
border · border-2Borde de 1 px o de 2 px en los cuatro lados
border-t · border-b-2Borde solo arriba · solo abajo, de 2 px
border-gray-200El color del borde
rounded · rounded-lg · rounded-xlEsquinas redondeadas de 4, 8 y 12 px
rounded-fullCompletamente redondo: fotos de perfil y etiquetas
divide-y divide-gray-200Una línea entre cada hijo (filas de una lista o una tabla)

Un border sin color toma el color del texto

border solo pone un borde de 1 px del mismo color que el texto, normalmente casi negro, y se ve duro. Escríbelo siempre con su color: border border-gray-200.

Sombras y transparencia

ClaseQué hace
shadow-sm · shadow-md · shadow-lgSombra bajo la caja, de más suave a más marcada
opacity-50La caja al 50% de transparencia

Mostrar y ocultar

ClaseQué hace
blockElemento de bloque: ocupa toda la fila
inline-blockEn línea, pero acepta alto y relleno vertical (útil en enlaces con forma de botón)
hiddenNo se muestra
sr-onlyOculto en la pantalla, pero el lector de pantalla lo lee

Flexbox

ClaseQué hace
flexActiva Flexbox en el contenedor
flex-row · flex-colHijos en fila · en columna
flex-wrapSi no caben, los hijos bajan a la línea siguiente
justify-start · justify-center · justify-betweenReparte a lo largo: al inicio, al medio, uno a cada extremo
items-start · items-center · items-stretchAlinea a lo ancho: arriba, al medio, todos del mismo alto
flex-1En el hijo: toma el espacio que sobra, en partes iguales
shrink-0En el hijo: no se encoge (una foto al lado de un texto largo)

Grid

ClaseQué hace
gridActiva Grid en el contenedor
grid-cols-2 · grid-cols-3 · grid-cols-4Dos, tres o cuatro columnas iguales
col-span-2En el hijo: ocupa dos columnas
gap-6Separación entre las celdas

Posición

ClaseQué hace
relativeEl elemento sirve de referencia para un hijo absolute
absoluteSe saca del flujo y se ubica respecto de su padre relative
top-0 · right-0 · inset-0Pegado arriba · a la derecha · a los cuatro bordes
sticky top-0Se queda pegado arriba al hacer scroll (una navbar que te acompaña)
z-10Lo pone por encima de los demás si se superponen

Imágenes

ClaseQué hace
w-full h-48 object-coverLlena su caja recortando la imagen, sin deformarla
object-containLa imagen entera dentro de su caja, aunque sobre espacio
aspect-video · aspect-squareProporción 16:9 · cuadrada
rounded-fullFoto redonda (junto con un ancho y alto iguales, como size-24)

Listas y tablas

ClaseQué hace
list-disc list-insideDevuelve las viñetas que Tailwind les quita a las <ul>
list-decimal list-insideDevuelve los números de las <ol>
border-collapseUne los bordes de las celdas de una tabla en una sola línea
overflow-x-autoEn el contenedor de una tabla ancha: se desliza de lado en vez de romper la página

Estados

Se escriben delante de cualquier clase, con dos puntos: la clase solo se aplica en ese estado.

PrefijoSe aplicaEjemplo
hover:Con el cursor encimahover:bg-sky-800 · hover:underline
focus:Cuando el elemento tiene el foco (clic en un campo o Tab)focus:border-sky-700
focus-visible:Cuando el foco llegó con el tecladofocus-visible:outline-2 focus-visible:outline-sky-700
active:Mientras se mantiene pulsadoactive:bg-sky-900
disabled:Si el botón o campo tiene disableddisabled:opacity-50
visited:En un enlace ya visitadovisited:text-purple-700
first: · last:En el primer · último hijolast:border-b-0
odd: · even:En los hijos impares · pareseven:bg-gray-50 (filas de tabla alternadas)
placeholder:En el texto de ejemplo de un campoplaceholder:text-gray-500

Un botón con sus estados:

<button type="submit"
        class="cursor-pointer rounded-lg bg-sky-700 px-4 py-2 font-semibold text-white
               transition-colors hover:bg-sky-800 active:bg-sky-900
               focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sky-700">
  Enviar mensaje
</button>

hover: y el foco, siempre juntos

Es la misma regla de CSS: lo que se ve con el ratón tiene que verse también con el teclado. Si le das hover: a un enlace o botón, dale también un foco visible con focus-visible:outline-…, y nunca quites el contorno sin reemplazarlo.

Tamaños de pantalla

Se escriben igual que los estados, delante de la clase. Sin prefijo, la clase vale para todas las pantallas; con prefijo, desde ese ancho hacia arriba.

PrefijoDesdeEjemplo
sm:640 pxsm:flex-row
md:768 pxmd:grid-cols-3
lg:1024 pxlg:text-5xl
xl:1280 pxxl:max-w-6xl

Se explican en detalle en Maquetación y diseño responsivo.

Detalles de interacción

ClaseQué hace
cursor-pointerPone la manito (los <button> no la traen en Tailwind)
cursor-not-allowedCursor de prohibido: para botones deshabilitados
transition-colorsLos cambios de color se hacen suaves en vez de golpe
duration-200La transición dura 200 milisegundos
accent-sky-700Colorea las casillas checkbox y radio con el color principal

Checkpoint

Intenta responder antes de desplegar cada pregunta.