Grid es un sistema poderoso y flexible de CSS para crear diseños en dos dimensiones (filas y columnas) en la web.
Vamos a ver de forma práctica y rápida como comenzar a utilizarlo.
Contenidos
Paso 1: Crear un Contenedor de Grid
Primero, crea un contenedor de grid. En tu HTML, tendrás algo como esto:
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<!-- Más elementos grid-item aquí -->
</div>En tu CSS, define el contenedor:
.grid-container {
display: grid;
}Prueba esto en un playground para ver cómo se comportan los elementos sin una definición explícita de grid.
Paso 2: Definir Columnas y Filas
Ahora, especifica las columnas y filas:
.grid-container {
display: grid;
grid-template-columns: 100px 100px 100px;
grid-template-rows: 50px 50px;
}Añade esto y observa cómo se organizan los elementos en 3 columnas y 2 filas.
Paso 3: Espaciado entre Elementos (Grid Gap)
Introduce un espacio entre los elementos:
.grid-container {
display: grid;
grid-template-columns: 100px 100px 100px;
grid-template-rows: 50px 50px;
grid-gap: 10px;
}Prueba esto para ver cómo se añade el espacio entre los elementos del grid.
Paso 4: Colocar Elementos en la Grid
Utiliza grid-column y grid-row para posicionar un elemento:
.grid-item:nth-child(1) {
grid-column: 1 / 3;
grid-row: 1;
}Esto hace que el primer elemento abarque dos columnas.
Paso 5: Diseño Responsivo
Haz que tu grid sea responsivo. Cambia las columnas a un enfoque flexible:
.grid-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
grid-gap: 10px;
}Prueba esto para ver cómo las columnas se ajustan al cambiar el tamaño de la ventana del navegador.
Paso 6: Áreas de Grid
Por último, prueba con áreas de grid para un control más detallado:
.grid-container {
display: grid;
grid-template-areas:
"header header header"
"main main aside"
"footer footer footer";
}
.grid-item:nth-child(1) { grid-area: header; }
.grid-item:nth-child(2) { grid-area: main; }
.grid-item:nth-child(3) { grid-area: aside; }
/* Asigna otros elementos a footer u otras áreas */Cada grid-item se colocará en el área que le asignes.
Importante: Asegúrate de probar cada paso en tu playground para entender cómo cada cambio afecta el diseño. Experimentar y ver los resultados en tiempo real es una excelente manera de aprender CSS Grid.