Grid-area en CSS: Cómo posicionar y nombrar áreas en tus diseños

| Última modificación: 14 de enero de 2025 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Hasta hace poco más de 10 años, el desarrollo web era bastante diferente de lo que conocemos hoy. Ciertamente, la introducción de CSS Grid Layout, con propiedades como grid-area, fue un cambio revolucionario para quienes nos apasionamos por estos temas. Sucede que, antes de esta innovación, teníamos que usar métodos más complicados y menos intuitivos para crear diseños de página complejos, lo que resultaba en procesos más largos y tediosos. 

Afortunadamente, la simplicidad, claridad y flexibilidad de esta herramienta nos ha facilitado la vida, dándonos más control con menos código. Por eso, hoy te quiero enseñar qué es grid-area en CSS, cómo usarla y cómo puede simplificar tu vida como desarrollador. 

Grid-area en CSS: Cómo posicionar y nombrar áreas en tus diseños

¿Qué es grid-area en CSS?

Grid-area es la propiedad que te permite asignar un área específica dentro de una cuadrícula a un elemento. Básicamente, le estás diciendo al navegador: Oye, quiero que este elemento ocupe este espacio exacto en mi grid.

Lo mejor de esta propiedad es que combina dos capacidades muy importantes: la de posicionar los elementos y la de nombrar las áreas de diseño. Esto significa que puedes crear layouts complejos con un código limpio y fácil de mantener.

¿Para qué sirve grid-area?

Como mencionaba al principio, esta propiedad tiene unos usos increíbles que nos ha facilitado la vida como desarrolladores, por lo que se ha vuelto una herramienta imprescindible. Aquí te explico cómo puede ayudarte:

  1. Posicionar elementos con precisión: Si quieres que un elemento esté en una ubicación específica dentro de tu cuadrícula, entonces grid-area es la solución. Con un par de líneas de código, puedes mover elementos sin alterar otros, lo que te ayuda a ahorrar tiempo y esfuerzos, a la vez que mantiene tu código ligero.
  2. Simplificar el diseño con nombres descriptivos: Con esta propiedad, no hace falta que uses líneas de inicio y fin, como con grid-row o grid-column. En su lugar, puedes nombrar áreas y reutilizarlas en tu CSS. Esto hace que tu código sea más legible y fácil de modificar.
  3. Crear layouts responsivos más fácilmente: Esta propiedad es perfecta si requieres que el diseño se adapte a los diferentes tamaños de pantalla. Al combinarla con media queries, puedes reorganizar tus diseños sin mucho esfuerzo.

Sintaxis de grid-area

La propiedad grid-area puede usarse de dos maneras: para nombrar áreas o para definir líneas de inicio y fin. Vamos a explorar ambas.

Uso básico: definir líneas de inicio y fin

Cuando usas números para las líneas de la cuadrícula, la sintaxis se ve así:

grid-area: row-start / column-start / row-end / column-end;

Por ejemplo:

.item {
grid-area: 1 / 2 / 3 / 4;
}

Esto significa que el elemento comienza en la fila 1, columna 2, y se extiende hasta la fila 3 y columna 4.

Uso avanzado: asignar nombres a áreas

Otra forma de usar grid-area es añadir nombres personalizados que puedes definir en grid-template-areas:

.grid {
display: grid;
grid-template-areas:
"header header"
"main sidebar"
"footer footer";
}

.header {
grid-area: header;
}

.main {
grid-area: main;
}

.sidebar {
grid-area: sidebar;
}

.footer {
grid-area: footer;
}

Con esta estructura, cada elemento sabe exactamente dónde debe ir en el layout.

Ejemplos de grid-area

La teoría no es suficiente sin la práctica. Por eso, te mostraré dos situaciones en las que puedes utilizar esta propiedad y cómo hacerlo.

Diseño de un blog

Imagina que estás diseñando un blog con un encabezado, un contenido principal, una barra lateral y un pie de página. Así es como podrías organizarlo:

<div class="grid">
<header class="header">Encabezado</header>
<main class="main">Contenido principal</main>
<aside class="sidebar">Barra lateral</aside>
<footer class="footer">Pie de página</footer>
</div>

<style>
.grid {
display: grid;
grid-template-columns: 2fr 1fr;
grid-template-areas:
"header header"
"main sidebar"
"footer footer";
gap: 10px;
}

.header {
grid-area: header;
}

.main {
grid-area: main;
}

.sidebar {
grid-area: sidebar;
}

.footer {
grid-area: footer;
}
</style>

Aquí cada elemento se posiciona según el nombre que le asignaste, sin necesidad de preocuparte por las líneas de la cuadrícula. Bastante útil, ¿no crees?

Cambiar el layout con media queries

Ahora supongamos que quieres cambiar el diseño para que se adapte a las pantallas pequeñas, de manera que todos los elementos quepan en una sola columna. Con grid-area, es fácil:

@media (max-width: 600px) {
.grid {
grid-template-areas:
"header"
"main"
"sidebar"
"footer";
grid-template-columns: 1fr;
}
}

Así, en cuestión de segundos, tu diseño se adapta a móviles sin reescribir todo el código.

Recomendaciones para usar grid-area

Ya he enfatizado varias veces en lo útil que es esta propiedad, pero también debo decir que los mejores resultados los da cuando sabemos bien cómo aprovecharla. Por eso, te traigo algunos consejos que puedes tener en consideración al trabajar con ella:

  1. Planifica tu cuadrícula: Antes de escribir código, define qué áreas necesitas y cómo vas a distribuirlas en el diseño.
  2. Nombres descriptivos: Lo mejor es que uses nombres simples y claros para tus áreas, como header, main o footer. Por eso, evita nombres genéricos como box1 o areaX.
  3. Combina con otras propiedades de CSS Grid: También puedes utilizar propiedades como grid-template-rows o gap, ya que estas complementan perfectamente a grid-area.
  4. Hazlo responsivo: Siempre considera que los usuarios pueden acceder a tu sitio web desde diferentes positivos. De esta manera, es importante que planifiques cómo cambiará tu diseño en los diferentes tamaños de pantalla.

Ahora, has aprendido que la propiedad grid-área te da más control sobre tus proyectos y te ayuda a mantener tu código limpio y organizado, al permitirte posicionar y nombrar áreas de manera clara. Con esto, mi invitación es a que practiques tantas veces como sea necesario hasta que logres dominar esta útil herramienta.

Si este artículo despertó tu curiosidad, ¿te imaginas lo que podrías lograr con una formación completa en desarrollo web? En nuestro Bootcamp en Desarrollo Web, podrás convertirte en un experto en herramientas altamente demandadas como CSS, HTML, JavaScript y React, para que puedas construir sitios increíbles y empezar a trabajar en uno de los sectores con mejores salarios, estabilidad laboral y crecientes oportunidades. 

¡Da el primer paso hacia una nueva vida!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo web

Full Stack Bootcamp

Conviértete en Full Stack Deeveloper en solo 10 meses. Accede a un sector con el 98,49% de empleabilidad con sueldos de hasta 80K.