CodeForge

Maquetación Web Dinámica / Layouts II: CSS Grid completo

grid-template-areas: layouts que se dibujan

Teoría15 min20 XP

De todas las formas de definir un layout en CSS, ninguna es tan legible como esta: dibujas el plano de la página con palabras, y Grid lo construye. Seis meses después, cualquiera (incluido tu yo futuro) entiende el layout de un vistazo — porque está literalmente dibujado en el código.

El plano dibujado

areas.css
.pagina {
display: grid;
grid-template-columns: 250px 1fr;
grid-template-areas:
  "cabecera cabecera"
  "menu     contenido"
  "pie      pie";
gap: 12px;
}

/* cada hijo declara QUÉ es, no DÓNDE va */
.pagina > header { grid-area: cabecera; }
.pagina > nav    { grid-area: menu; }
.pagina > main   { grid-area: contenido; }
.pagina > footer { grid-area: pie; }

Las reglas del dibujo: cada string es una FILA; cada palabra, una CELDA (deben coincidir con el número de columnas); repetir el nombre expande el área (cabecera ocupa las dos columnas); y un punto (.) deja la celda vacía.

El superpoder: reordenar sin tocar el HTML

Aquí está la razón por la que este método domina los layouts de página: el responsive se vuelve REDIBUJAR. El mismo HTML, otro plano:

responsive-preview.css
/* En pantallas angostas: todo apilado (lo verás formal en el módulo 8) */
.pagina-movil {
grid-template-columns: 1fr;
grid-template-areas:
  "cabecera"
  "contenido"
  "menu"
  "extra"
  "pie";
}

Nota que el contenido SUBIÓ por encima del menú — una decisión editorial (lo importante primero en móvil) que costó cero cambios de HTML. La misma advertencia de order aplica: el lector de pantalla sigue el HTML, así que reordena con propósito, no por deporte.

En grid-template-areas, ¿cómo haces que la cabecera ocupe las 3 columnas de la primera fila?

Mini-reto

Reconstruye tu periódico entero con áreas: cabecera, contenido, "lo más leído" (extra) y pie — usa el ejemplo como base. Luego redibuja el plano poniendo el aside a la IZQUIERDA. Un solo bloque de CSS cambiado, layout nuevo.

Qué sigue

Dibujas layouts. La próxima lección resuelve las galerías: auto-fit y auto-fill — grids que deciden solos cuántas columnas caben. El responsive sin media queries, versión Grid.