Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Trabajando con la cuadrícula CSS: Diseño con Grid

Cuando usamos CSS Grid, no solo organizamos los elementos en filas y columnas, sino que también podemos controlar el espacio entre ellos y su alineación dentro del contenedor. En esta lección, veremos cómo hacerlo de manera eficiente.

¿Por qué necesitamos márgenes en una cuadrícula?

Miremos este ejemplo del blog de Códica:

Blog de Códica con cuadrícula

Aquí, los elementos están organizados dentro de una cuadrícula, pero además, tienen espacios entre ellos. Estos márgenes evitan que el contenido se vea demasiado junto y mejoran la legibilidad.

En CSS Grid, en lugar de usar la propiedad tradicional margin, podemos aplicar márgenes automáticos entre las filas y columnas sin preocuparnos de anular márgenes extra en los bordes.

Propiedades para controlar el espaciado

Para agregar espacio entre los elementos dentro de una cuadrícula, existen tres propiedades:

Propiedad Descripción
column-gap Controla el espacio entre las columnas
row-gap Controla el espacio entre las filas
gap Propiedad corta que permite definir ambos márgenes a la vez

Antes, estas propiedades se llamaban grid-column-gap y grid-row-gap, pero han sido reemplazadas por column-gap y row-gap, que funcionan tanto en Grid como en Flexbox.

Ejemplo: Añadiendo espacio entre columnas

En la siguiente cuadrícula, tenemos dos columnas sin separación. Vamos a agregar un margen entre ellas.

👉 Haz clic para ver el ejemplo: Ver ejemplo en CodePen

.container {
  display: grid;
  grid-template-columns: 100px 100px;
  column-gap: 30px; /* Espacio entre columnas */
}

Espacio entre columnas en el diseño de dos columnas

Como puedes ver, ahora hay un espacio entre los elementos, pero el margen no se aplica dentro de ellos. Esto mantiene su contenido alineado correctamente.

Usando gap para filas y columnas

Para establecer un margen tanto entre columnas como entre filas, usamos gap:

.container {
  display: grid;
  grid-template-columns: 100px 100px;
  grid-template-rows: auto auto;
  gap: 20px 30px; /* 20px entre filas, 30px entre columnas */
}

Si solo pones un valor:

gap: 20px;

Ese valor se aplicará tanto a filas como a columnas.

Alineación del contenido en CSS Grid

Además del espaciado, podemos alinear los elementos dentro de la cuadrícula usando justify-content y align-content.

Propiedad Dirección Uso
justify-content Horizontal Alinea las columnas dentro del contenedor
align-content Vertical Alinea las filas dentro del contenedor

justify-content: Alineación horizontal de la cuadrícula

justify-content controla cómo se distribuyen las columnas dentro del contenedor. Estos son sus valores más comunes:

Valor Descripción
start Alinea las columnas a la izquierda (comportamiento predeterminado)
end Alinea las columnas a la derecha

Ejemplo con space-between:

👉 Haz clic para ver el ejemplo: Ver ejemplo en CodePen

.container {
  display: grid;
  grid-template-columns: repeat(3, 100px);
  justify-content: space-between;
}

Resumen

  • Usa column-gap, row-gap o gap para añadir espaciado.
  • justify-content y align-content controlan la alineación.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY