Áreas con nombre
Parte de la sección CSS Mastery del Journey de HTML de Coddy — lección 33 de 43.
En lugar de colocar elementos utilizando números de línea, puedes dar nombres a partes de tu cuadrícula utilizando la propiedad grid-template-areas. Este método es ideal para crear diseños limpios y legibles, especialmente cuando se trabaja con múltiples secciones como encabezados, barras laterales y pies de página. Echa un vistazo al siguiente ejemplo:

Definimos un contenedor con CSS Grid y usamos grid-template-areas para crear un diseño con nombre:
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto auto auto;
grid-template-areas:
"header header header"
"sidebar content content"
"footer footer footer";
}Cada línea de texto crea una fila, y cada palabra en la línea es una parte de la cuadrícula. Si repites una palabra, esa área se extenderá por más espacio.
Luego, asocias tus elementos HTML con esos nombres de esta manera:
.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.content { grid-area: content; }
.footer { grid-area: footer; }Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Desafío
FácilCrea un diseño de cuadrícula CSS para una página web básica con las siguientes áreas como en la imagen de abajo:

Establece las siguientes propiedades en el selector .container:
displayagridgrid-template-columnsa1fr 3frgrid-template-rowsaauto 1fr autogrid-template-areasa:"header header""profile main""footer footer"
Asigna cada elemento a su área respectiva. Por ejemplo, para el .header establece grid-area a header.
Hoja de referencia
Usa grid-template-areas para crear diseños de cuadrícula con nombre:
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto auto auto;
grid-template-areas:
"header header header"
"sidebar content content"
"footer footer footer";
}Cada línea de texto crea una fila, y cada palabra en la línea es una parte de la cuadrícula. Repetir una palabra extiende esa área a través de más espacio.
Asigna elementos a áreas de la cuadrícula usando grid-area:
.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.content { grid-area: content; }
.footer { grid-area: footer; }Pruébalo tú mismo
<!DOCTYPE html>
<html>
<head>
<style>
.container {
height: 100vh;
gap: 10px;
/* Set up your grid container here */
}
.header {
/* Assign to header area */
background-color: #f1c40f;
padding: 20px;
}
.profile {
/* Assign to profile area */
background-color: #3498db;
padding: 20px;
}
.main {
/* Assign to main area */
background-color: #2ecc71;
padding: 20px;
}
.footer {
/* Assign to footer area */
background-color: #e74c3c;
padding: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="header">Header</div>
<div class="profile">Profile</div>
<div class="main">Main Content</div>
<div class="footer">Footer</div>
</div>
</body>
</html>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de CSS Mastery
1Dominio de selectores – Combinación
IntroducciónSelector de descendienteSelector de hijoSelector de hermano adyacenteSelector de hermano generalDesafío de repaso7Construye con CSS Grid
Conceptos básicos de GridPosicionamiento de elementos en Grid-rowÁreas con nombreDesafío de repaso2Pseudoclases interactivas
PseudoclasesEfectos de hoverEfectos de focusEstilos de estado activoDesafío de repaso3Pseudoclases estructurales
Pseudoclases estructuralesSeleccionando el primer hijoSeleccionando el último hijoEl poder de los patrones: Usando nth-childDesafío de repaso