Un grid area en CSS es como reservar un espacio dentro de la cuadrícula para un bloque completo. En lugar de pensar en celdas sueltas, defines un área que puede ocupar varias filas y columnas. Esto te permite nombrar zonas (header, sidebar, main, footer) y organizarlas fácilmente, como si estuvieras armando un plano de tu diseño. !grid-template-areas | CSS-Tricks
Recursos
Resumen
Aprende a dominar CSS Grid con tres técnicas clave que simplifican la maquetación: grid areas, span y grid lines. Con estos patrones podrás definir un layout completo, extender elementos por columnas o filas y posicionarlos con precisión, todo desde CSS, de forma clara y escalable.
¿Cómo crear un layout con grid areas en CSS?
Con grid-template-areas defines un template visual del layout y con grid-area enlazas cada elemento. Así posicionas header, sidebar, content y footer sin cálculos complejos.
- display: grid activa el modelo de cuadrícula.
- grid-template-areas dibuja el layout con nombres de áreas.
- grid-template-columns define anchos (ej: 200px y 1fr).
- gap y margin-bottom mejoran la separación visual.
- grid-area enlaza cada bloque con su área del template.
¿Cómo declarar el template de áreas?
.grid-areas { display: grid; grid-template-areas: "header header" "sidebar content" "footer footer"; grid-template-columns: 200px 1fr; gap: 10px; margin-bottom: 20px; } /* Estilos base compartidos */ header, .sidebar, .content, footer { padding: 20px; text-align: center; color: white; }
¿Cómo linkear elementos con grid area?
header { grid-area: header; background: #2ECC71; } .sidebar { grid-area: sidebar; background: #E74C3C; } .content { grid-area: content; background: #3498DB; } footer { grid-area: footer; background: purple; }
- header ocupa el 100% del ancho al repetirse en la fila: "header header".
- sidebar queda a la izquierda y content a la derecha.
- footer también ocupa el 100% con "footer footer".
- Verifica que los nombres de clases coincidan (ej:
.sidebary no.bar).
¿Cuándo usar span para extender columnas en grid?
Cuando quieres que un ítem se extienda a través de varias columnas o filas consecutivas sin recalcular fracciones, usa span. Es directo y legible.
.grid-span { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px; } /* Extender un elemento por 2 columnas */ .item--span-2 { grid-column: span 2; }
- grid-column: span 2 extiende el elemento por dos columnas.
- Alternativa más simple que ajustar muchas fracciones con 1fr.
- Escalable para diseños con muchos elementos.
¿Qué son las grid lines y cómo posicionar por líneas?
Las grid lines son las líneas delimitadoras de columnas y filas. En lugar de pensar en fracciones o span, defines desde qué línea hasta cuál colocar el elemento, tanto en columnas como en filas.
.grid-lines { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px; } /* Posicionar por columnas: de la línea 1 a la 3 */ .box-1 { grid-column: 1 / 3; background: red; } /* Posicionar por filas: de la línea 1 a la 3 */ .box-2 { grid-row: 1 / 3; background: green; }
- Las líneas se cuentan desde el borde izquierdo/arriba hacia la derecha/abajo.
- grid-column: 1 / 3 ocupa desde la línea 1 hasta la 3 (dos columnas de ancho).
- grid-row: 1 / 3 ocupa desde la línea 1 hasta la 3 (dos filas de alto).
- Útil cuando necesitas posiciones precisas sin depender de nombres de áreas o span.
¿Te gustaría ver más patrones con CSS Grid o resolver un caso específico? Deja tu duda en los comentarios y cuéntame qué layout quieres construir.

