Maquetación con Grid

La retícula es una de las herramientas básicas del diseño gráfico: la usaste en editorial, en carteles, en identidad.

display: grid + grid-template-columns crean la retícula; gap es el medianil.

fr reparte el espacio disponible; repeat() evita repetir.

grid-column / grid-row hacen que un elemento ocupe varias celdas.

grid-template-areas compone páginas con nombres legibles.

  • La retícula es una de las herramientas básicas del diseño gráfico: la usaste en editorial, en carteles, en identidad. CSS Grid lleva esa retícula a la web: defines columnas y filas y colocas cada elemento en ellas.
  • <section class="galeria"> <img src="img/01.jpg" alt="…"> <img src="img/02.jpg" alt="…"> <img src="img/03.jpg" alt="…"> <img src="img/04.jpg" alt="…"> </section>
  • .galeria { display: grid; grid-template-columns: repeat(3, 1fr); /* tres columnas iguales */ gap: 1rem; /* medianil */ }
  • display: grid activa la retícula en el contenedor. grid-template-columns define las columnas. fr significa "fracción del espacio disponible": 1fr 1fr 1fr (o repeat(3, 1fr)) son tres columnas iguales; 2fr 1fr, una doble que la otra. gap es el medianil: el espacio entre columnas y filas.
  • Las filas se crean solas según haga falta. Si quieres fijarlas, usa grid-template-rows.

Introducción

La retícula es una de las herramientas básicas del diseño gráfico: la usaste en editorial, en carteles, en identidad. CSS Grid lleva esa retícula a la web: defines columnas y filas y colocas cada elemento en ellas.

Una galería en tres líneas

<section class="galeria"> <img src="img/01.jpg" alt="…"> <img src="img/02.jpg" alt="…"> <img src="img/03.jpg" alt="…"> <img src="img/04.jpg" alt="…"> </section>

.galeria { display: grid; grid-template-columns: repeat(3, 1fr); /* tres columnas iguales */ gap: 1rem; /* medianil */ }

display: grid activa la retícula en el contenedor. grid-template-columns define las columnas. fr significa "fracción del espacio disponible": 1fr 1fr 1fr (o repeat(3, 1fr)) son tres columnas iguales; 2fr 1fr, una doble que la otra. gap es el medianil: el espacio entre columnas y filas.

Las filas se crean solas según haga falta. Si quieres fijarlas, usa grid-template-rows.

Colocar elementos en la retícula

Las líneas de la retícula se numeran desde 1. Un elemento puede ocupar varias celdas:

línea: 1 2 3 4 ┌───────┬───────┬───────┐ │ destacado │ │ .destacado { grid-column: 1 / 3; } ├───────┼───────┼───────┤ │ │ │ │ └───────┴───────┴───────┘

.destacado { grid-column: 1 / 3; /* de la línea 1 a la 3: ocupa dos columnas */ } .vertical { grid-row: span 2; /* ocupa dos filas */ }

Áreas con nombre

Para la composición de una página completa, las áreas con nombre se leen casi como un boceto:

Columnas que se adaptan solas

Esta línea crea tantas columnas como quepan, de al menos 200 px cada una:

.galeria { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }

minmax(200px, 1fr): cada columna mide como mínimo 200 px y como máximo una fracción. auto-fit: el navegador calcula cuántas caben.

Es una galería adaptable sin media queries.

Grid y Flexbox juntos

No compiten: se combinan. Lo habitual es Grid para la composición general y Flexbox dentro de cada pieza (la cabecera, una tarjeta, una fila de botones).

Errores frecuentes

Olvidar que Grid, como Flexbox, afecta a los hijos directos del contenedor. Usar % para columnas y que el gap haga desbordar la página: usa fr. Colocar todo con números de línea cuando las áreas con nombre serían más legibles.

CSS
82

Maquetación con Grid

La retícula es una de las herramientas básicas del diseño gráfico: la usaste en editorial, en carteles, en identidad.

Código del tema: display: grid

📘 Teoría

Introducción

La retícula es una de las herramientas básicas del diseño gráfico: la usaste en editorial, en carteles, en identidad. CSS Grid lleva esa retícula a la web: defines columnas y filas y colocas cada elemento en ellas.

Una galería en tres líneas

<section class="galeria">
  <img src="img/01.jpg" alt="…">
  <img src="img/02.jpg" alt="…">
  <img src="img/03.jpg" alt="…">
  <img src="img/04.jpg" alt="…">
</section>
.galeria {
  display: grid;
  grid-template-columns: repeat(3, 1fr);   /* tres columnas iguales */
  gap: 1rem;                               /* medianil */
}
  • display: grid activa la retícula en el contenedor.
  • grid-template-columns define las columnas. fr significa "fracción del espacio disponible": 1fr 1fr 1fr (o repeat(3, 1fr)) son tres columnas iguales; 2fr 1fr, una doble que la otra.
  • gap es el medianil: el espacio entre columnas y filas.

Las filas se crean solas según haga falta. Si quieres fijarlas, usa grid-template-rows.

Colocar elementos en la retícula

Las líneas de la retícula se numeran desde 1. Un elemento puede ocupar varias celdas:

línea: 1       2       3       4
       ┌───────┬───────┬───────┐
       │   destacado   │       │   .destacado { grid-column: 1 / 3; }
       ├───────┼───────┼───────┤
       │       │       │       │
       └───────┴───────┴───────┘
.destacado {
  grid-column: 1 / 3;     /* de la línea 1 a la 3: ocupa dos columnas */
}
.vertical {
  grid-row: span 2;       /* ocupa dos filas */
}

Áreas con nombre

Para la composición de una página completa, las áreas con nombre se leen casi como un boceto:

Columnas que se adaptan solas

Esta línea crea tantas columnas como quepan, de al menos 200 px cada una:

.galeria {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
  • minmax(200px, 1fr): cada columna mide como mínimo 200 px y como máximo una fracción.
  • auto-fit: el navegador calcula cuántas caben.

Es una galería adaptable sin media queries.

📌 Nota. De la retícula tipográfica a CSS Grid: una retícula de 12 columnas con medianil de 20 px se escribe grid-template-columns: repeat(12, 1fr); gap: 20px;. Los márgenes de página serían el padding del contenedor.

Grid y Flexbox juntos

No compiten: se combinan. Lo habitual es Grid para la composición general y Flexbox dentro de cada pieza (la cabecera, una tarjeta, una fila de botones).

Errores frecuentes

  • Olvidar que Grid, como Flexbox, afecta a los hijos directos del contenedor.
  • Usar % para columnas y que el gap haga desbordar la página: usa fr.
  • Colocar todo con números de línea cuando las áreas con nombre serían más legibles.

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com