DevPath · Aprende a programar ESPTEN

CSS Grid

Responsive sin media queries: auto-fit y minmax

repeat(): no te repitas

Escribir 1fr 1fr 1fr 1fr es tedioso. repeat() lo abrevia:

.galeria {
  display: grid;
  grid-template-columns: repeat(4, 1fr);  /* equivale a 1fr 1fr 1fr 1fr */
  gap: 16px;
}

minmax(): un mínimo y un máximo

minmax(min, max) define el tamaño de una pista con un suelo y un techo. minmax(200px, 1fr) significa: "nunca más estrecha de 200px, pero crece para repartir el espacio sobrante".

grid-template-columns: minmax(200px, 1fr) 2fr;

El patrón estrella: tarjetas que se reacomodan solas

Combinando repeat(), minmax() y la palabra clave auto-fit consigues una rejilla responsive sin escribir ni una media query:

.galeria {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

Lee la regla así: "crea tantas columnas de mínimo 200px como quepan; cuando no quepa una más, salta de fila". Arrastra el borde de la ventana de una rejilla de productos y mira la magia: las tarjetas pasan de 4 a 3, a 2, a 1 columna solas, sin una sola media query. Es el layout de tarjetas más usado de la web moderna, y con esta única línea ya lo dominas.

auto-fit vs auto-fill

Ambas crean "tantas columnas como quepan", pero difieren cuando sobra espacio y hay pocos items:

Para galerías de tarjetas suele quererse auto-fit: aprovecha todo el ancho. Usa auto-fill cuando quieras preservar la cuadrícula aunque haya pocos items.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
← Colocar items: líneas, span y áreasVer el módulo →