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

Primera cuadrícula CSS: Diseño con Grid

Ahora que ya conoces los conceptos básicos de CSS y HTML, es momento de aprender a crear una cuadrícula con CSS Grid.

En esta lección, vamos a construir nuestra primera cuadrícula de 12 columnas y 12 filas.

Paso 1: Crear un contenedor de cuadrícula

CSS Grid, al igual que Flexbox, necesita un contenedor para funcionar correctamente. Este contenedor es el elemento padre, dentro del cual estarán los elementos que se organizarán en una cuadrícula.

Para comenzar, creamos una sección con la clase .grid-12:

<section class="grid-12"></section>

Ahora, indicamos que esta sección será un contenedor de cuadrícula usando display: grid; en CSS:

.grid-12 {
  display: grid;
}

Si revisamos el resultado en el navegador, no veremos cambios. Esto es porque aún no hemos definido cómo se distribuyen las columnas y filas.


Paso 2: Agregar elementos a nuestra cuadrícula

Para entender cómo funciona CSS Grid, agreguemos algunos elementos dentro del contenedor:

<section class="grid-12">
  <div class="grid-element bg-gray"></div>
  <div class="grid-element bg-red"></div>
  <div class="grid-element bg-blue"></div>
</section>

Con CSS les daremos color para diferenciarlos:

.grid-element {
  width: 40px;
  height: 40px;
}

.bg-gray {
  background-color: gray;
}

.bg-red {
  background-color: red;
}

.bg-blue {
  background-color: blue;
}

Por defecto, CSS Grid coloca los elementos en una única columna y crea filas automáticamente. Si queremos organizarlo correctamente, debemos definir cómo queremos que se vean las columnas y las filas.


Paso 3: Definir columnas y filas

Para crear nuestra cuadrícula de 12 columnas y 12 filas, usamos las propiedades grid-template-columns y grid-template-rows:

.grid-12 {
  display: grid;
  grid-template-columns: 20px 20px 20px 20px 20px 20px 20px 20px 20px 20px 20px 20px;
  grid-template-rows: 20px 20px 20px 20px 20px 20px 20px 20px 20px 20px 20px 20px;
}

Como resultado, cada celda tendrá dimensiones de 20px por 20px. Pero este código es un poco largo y repetitivo, así que podemos simplificarlo.


Paso 4: Hacer el código más eficiente con repeat

En lugar de escribir cada valor de columna manualmente, podemos usar la función repeat:

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 20px);
  grid-template-rows: repeat(12, 20px);
}

Con esto, logramos el mismo resultado, pero con menos código y de forma más clara.

Además, podemos combinar repeat con otros valores:

.grid-12 {
  display: grid;
  grid-template-columns: repeat(6, 20px) repeat(6, 30px);
  grid-template-rows: repeat(6, 20px) repeat(6, 30px);
}

En este caso, las primeras 6 columnas y filas medirán 20px, y las siguientes 6 medirán 30px.


Paso 5: Adaptabilidad con fr (fracción)

Las unidades de fracciones (fr) permiten distribuir el espacio disponible de forma dinámica, sin necesidad de definir un tamaño fijo en píxeles. Esto hace que nuestra cuadrícula sea más flexible.

Si queremos que nuestras 12 columnas y 12 filas ocupen todo el ancho y alto del navegador, usamos fr:

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(12, 1fr);

  width: 100vw;
  height: 100vh;
}

Aquí cada celda tomará una parte igual del espacio disponible, sin importar el tamaño de la pantalla.


Resumen

  • CSS Grid nos permite organizar elementos en filas y columnas.
  • Para activar la cuadrícula en un contenedor, usamos display: grid;.
  • grid-template-columns y grid-template-rows nos permiten definir el número y tamaño de las pistas en la cuadrícula.
  • Podemos especificar tamaños en píxeles (20px), valores dinámicos (auto, minmax(20px, 10em), fr), o usar la función repeat() para simplificar el código.
  • La unidad fr nos ayuda a que la cuadrícula sea más adaptable.

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