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
Creación y Optimización de Grids en CSS
Resumen
Dominar la creación de filas y columnas es el paso fundamental para construir layouts con CSS Grid. Con apenas tres líneas de código puedes definir una cuadrícula completa, controlar su espaciado y nombrar cada celda para ubicar elementos con precisión. A continuación se desglosan las propiedades esenciales que lo hacen posible.
¿Cómo se definen columnas y filas en CSS Grid?
Dentro de un contenedor con display: grid, las columnas se crean en dirección vertical y las filas en dirección horizontal [0:18]. Para indicarle al navegador cuántas columnas y de qué tamaño necesitas, se utiliza la propiedad grid-template-columns. De forma análoga, grid-template-rows establece las filas.
css .contenedor { display: grid; grid-template-columns: 20px 20px 20px 20px 20px; grid-template-rows: 20px 20px 20px 20px 20px; }
Este ejemplo genera una cuadrícula de cinco columnas y cinco filas, cada una de veinte píxeles [0:48]. Funciona, pero resulta repetitivo. Ahí entra en juego una función que simplifica todo.
¿Qué hace la función repeat en CSS Grid?
La función repeat() recibe dos argumentos: la cantidad de tracks y el tamaño de cada uno [1:30]. En lugar de escribir el mismo valor cinco veces, basta con una sola declaración.
css .contenedor { display: grid; grid-template-columns: repeat(5, 20px); grid-template-rows: repeat(5, 20px); }
El primer valor indica cuántas columnas o filas quieres; el segundo, la medida que tendrá cada una.
¿Cómo unificar filas y columnas con grid-template?
Existe un atajo aún más compacto: la propiedad grid-template. Separa filas y columnas con una barra oblicua (/). El valor antes del slash corresponde a las filas y el que está después a las columnas [1:52].
css .contenedor { display: grid; grid-template: repeat(5, 20px) / repeat(5, 20px); }
Con esto reduces las propiedades del contenedor de tres o cuatro a solo dos líneas.
¿Cómo agregar espaciado entre filas y columnas con gap?
Para separar visualmente las celdas se utiliza el espaciado o gap [2:18]. Históricamente se empleaban grid-column-gap y grid-row-gap, pero la especificación actual simplifica los nombres.
- column-gap: define el espacio entre columnas.
- row-gap: define el espacio entre filas.
- gap: unifica ambos valores en una sola propiedad.
css .contenedor { display: grid; grid-template: repeat(5, 20px) / repeat(5, 20px); gap: 10px 10px; /* filas columnas */ }
El primer valor de gap corresponde a las filas y el segundo a las columnas [2:50]. Con solo tres líneas de código defines la cuadrícula completa y su espaciado.
¿Qué son las áreas en CSS Grid y cómo se nombran?
Las áreas permiten asignar un nombre a cada celda o grupo de celdas de la cuadrícula [3:18]. Esto facilita la colocación de elementos porque, en lugar de indicar números de línea, simplemente refieres el nombre del área.
css .contenedor { display: grid; grid-template: repeat(5, 20px) / repeat(5, 20px); grid-template-areas: "header header header header header" "main main main . sidebar" "main main main . sidebar" "footer footer footer footer footer"; }
- Cada cadena entre comillas representa una fila.
- Los nombres repetidos expanden el área a lo largo de varias columnas o filas.
- Un punto (
.) indica que esa celda quedará vacía [4:08].
Después, al estilizar un elemento hijo, basta con escribir grid-area: header; y se posicionará automáticamente en todas las celdas etiquetadas como header.
El reto propuesto consiste en tomar el diseño de tu proyecto, identificar los contenedores, y para cada uno definir cuántas filas y columnas necesita [4:25]. Esa planificación previa hace que la implementación en código sea mucho más ágil. ¿Ya identificaste los contenedores de tu diseño? Comparte tu avance en los comentarios.