Contenido del curso
¿De dónde venimos y en dónde estamos?
¿Cómo se llegó al concepto de CSS Grid?
Control de alineamiento
- 7

Alineación de Elementos con Margin y Line Height en CSS
12:45 min - 8

Técnicas de Alineamiento CSS: Table Cell y Positions
15:19 min - 9

Alineación de Elementos con CSS y Modos de Escritura
04:02 min - 10

Modos de Escritura y Alineación en CSS: Flexbox y CSS Grid
09:06 min - 11

Propiedades lógicas en CSS: uso y aplicación práctica
09:25 min - 12

Técnicas de Alineamiento con Flexbox en CSS
06:54 min - 13

Dibujos Creativos con CSS: Técnicas y Desafíos
13:51 min
Conceptos generales para comenzar a trabajar con CSS Grid
Propiedades y valores para el elemento padre
Propiedades y valores para los elementos hijos
- 22

Creación de Grids en CSS para Diseños Creativos
07:03 min - 23

Alineación de Elementos Hijos en CSS Grid
07:36 min - 24

Alineación de elementos en CSS Grid: Justify, Align y Place Self
05:22 min - 25

Ubicación y Alineación de Elementos con CSS Grid
06:06 min - 26

Alineación de Elementos con CSS Grid y Flexbox
09:53 min
Lo que podemos lograr adicionalmente con CSS Grid
Uso avanzado de CSS Grid para diseño responsivo
Resumen
Controlar el tamaño de los elementos en una grilla es uno de los retos más frecuentes en el desarrollo frontend. CSS Grid ofrece funciones específicas que permiten definir comportamientos flexibles sin recurrir a soluciones complicadas, logrando que el contenido se adapte a distintos tamaños de pantalla de forma elegante y predecible.
¿Qué es la unidad fr y cómo divide el espacio disponible?
Cuando definimos columnas con grid-template-columns, podemos usar la unidad fr (fraction) para repartir el ancho total del contenedor en partes iguales [0:18]. Imagina que el ancho de la pantalla es una torta: al escribir 1fr 1fr 1fr, la estamos cortando en tres porciones idénticas, y cada elemento ocupa exactamente una tercera parte.
css .container { display: grid; grid-template-columns: 1fr 1fr 1fr; }
Escribir 1fr tres veces resulta redundante. Para simplificarlo existe la función repeat [1:02], cuyo primer argumento indica la cantidad de columnas y el segundo el tamaño de cada una:
css .container { display: grid; grid-template-columns: repeat(3, 1fr); }
El resultado es idéntico, pero el código queda más limpio y fácil de mantener.
¿Cómo evitar que el diseño se rompa con minmax?
El ancho de pantalla varía entre usuarios: puede ser de 1220 px, 1440 px o cualquier otro valor [1:23]. Cuando una card tiene width: 100%, al estirar el navegador las letras se separan de la imagen, y al contraerlo el contenido se solapa [1:50]. Aquí es donde los frontends necesitan garantizar que el diseño se mantenga íntegro.
La función minmax resuelve este problema al establecer un tamaño mínimo y un tamaño máximo para cada elemento de la grilla [2:30]:
css .container { display: grid; grid-template-columns: repeat(3, minmax(200px, 300px)); }
- El valor mínimo (200 px) impide que las cards se contraigan tanto que el texto o la imagen se distorsionen.
- El valor máximo (300 px) evita que al estirar la ventana los elementos crezcan desproporcionadamente.
Cuando el espacio ya no alcanza para mantener todas las columnas dentro de esos límites, los elementos bajan automáticamente a la siguiente fila. Esto es lo que se conoce como grid implícita [3:48]: el navegador crea filas adicionales de forma automática sin que las hayamos declarado en el código.
¿Qué diferencia hay entre auto-fit y auto-fill?
Ambos valores sustituyen el número fijo de columnas dentro de repeat y son fundamentales para el responsive design [4:12].
- auto-fit: toma las columnas existentes y las estira para ocupar todo el ancho disponible del navegador [4:28]. Si hay cinco elementos y sobra espacio, cada columna crece hasta llenar ese hueco.
- auto-fill: en lugar de estirar las columnas, reserva espacio para columnas adicionales aunque no tengan contenido [4:50]. Los cinco elementos se ubican en su porción y el resto del ancho queda dividido en columnas implícitas vacías.
css /* auto-fit */ .container { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
/* auto-fill */ .container { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
La diferencia se nota especialmente cuando el contenedor es más ancho que la suma de los elementos: auto-fit expande, auto-fill reserva.
¿Para qué sirve fit-content en CSS Grid?
La función fit-content permite asignar un ancho específico a una columna —por ejemplo, 800 px— mientras las demás se ajustan con auto [5:18]:
css .container { grid-template-columns: fit-content(800px) auto; }
Esto resulta útil cuando una sección necesita un tamaño fijo y el resto del layout debe ser flexible. Vale la pena experimentar estirando y contrayendo el navegador para observar cómo se comporta el contenido reservado frente a las columnas automáticas.
Con estas funciones —repeat, minmax, auto-fit, auto-fill y fit-content— tienes un conjunto de herramientas poderoso para construir layouts adaptables. Abre un CodePen, crea tus cards y prueba cada propiedad cambiando el tamaño de la ventana. ¿Cuál combinación funciona mejor para tu proyecto? Comparte tu resultado en los comentarios.