Áreas con nombre
Parte de la sección Dominio de CSS del Journey de HTML de Coddy. Lección 33 de 43.
En lugar de colocar elementos usando números de línea, puedes dar nombres a partes de tu cuadrícula mediante la propiedad grid-template-areas. Este método es excelente para crear diseños limpios y legibles, especialmente cuando trabajas con varias secciones, como encabezados, barras laterales y pies de página. Mira el ejemplo a continuación:

Definimos un contenedor con CSS Grid y usamos grid-template-areas para crear un diseño con nombres:
.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 forma una fila, y cada palabra de la línea es una parte de la cuadrícula. Si repites una palabra, esa área se extenderá por más espacio.
Después, haces coincidir 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; }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:
displayengridgrid-template-columnsen1fr 3frgrid-template-rowsenauto 1fr autogrid-template-areasen:"header header""profile main""footer footer"
Asigna cada elemento a su área correspondiente. Por ejemplo, para .header, establece grid-area en header.
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 Dominio de CSS
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 repasoPractica por tu cuenta: Playground de Web