En este artículo, aprenderás a crear un layout completamente responsivo utilizando solo CSS Grid Layout, sin necesidad de media queries. Veremos cómo configurar el HTML y CSS para lograr un diseño que se adapte automáticamente al tamaño de la pantalla. ¡Vamos a empezar!
Paso 1: Configurar el Entorno
Primero, abrimos nuestro editor de código favorito, en este caso, Visual Studio Code. Creamos un archivo index.html e inicializamos el documento con la estructura básica de HTML5.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Layout</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="grid-container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
</div>
</body>
</html>Explicación del HTML
Contenedor Principal: Usamos un
<div>con la clasegrid-containerpara agrupar todos los elementos del layout.Elementos del Layout: Incluimos varios
<div>con la claseitemy los numeramos para ilustrar mejor el ejemplo.
Paso 2: Estilizar el Layout con CSS
Crearemos un archivo styles.css donde definiremos los estilos para nuestro layout.
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: Arial, sans-serif;
}
.grid-container {
display: grid;
gap: 10px;
background-color: darkgrey;
padding: 10px;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.item {
background-color: grey;
color: white;
padding: 20px;
border: 5px solid black;
display: flex;
justify-content: center;
align-items: center;
font-size: 60px;
}Explicación del CSS
Estilos Globales: Aseguramos que el
box-sizingseaborder-boxy eliminamos los márgenes delbody.Contenedor de la Cuadrícula: Configuramos el contenedor del grid con
display: grid, ungappara añadir espacio entre los elementos, y unbackground-colorpara visualizar mejor los límites del contenedor. Usamosgrid-template-columnsconrepeat(auto-fit, minmax(150px, 1fr))para crear un diseño responsivo.Elementos del Layout: Estilizamos los elementos del grid con un fondo gris, texto blanco, un borde negro, y centramos el contenido usando Flexbox.
Paso 3: Entender el CSS Responsivo sin Media Queries
La clave para hacer que este layout sea responsivo sin media queries está en la propiedad grid-template-columns y su uso de auto-fit y minmax.
Propiedades Usadas:
repeat(auto-fit, minmax(150px, 1fr)):
auto-fit: Ajusta el número de columnas automáticamente para llenar el espacio disponible.minmax(150px, 1fr): Define el tamaño mínimo y máximo de cada columna. Cada columna tendrá un mínimo de 150px y se expandirá hasta llenar el espacio disponible (1fr).
Ver el Resultado
Al abrir el archivo HTML en un navegador, deberías ver el layout en acción. A medida que redimensionas la ventana del navegador, los elementos del grid se reorganizarán automáticamente para adaptarse al nuevo tamaño, manteniendo un diseño limpio y responsivo.
Conclusión
CSS Grid Layout es una herramienta poderosa para crear diseños web responsivos sin necesidad de media queries. En este artículo, hemos aprendido cómo configurar un layout básico que se adapta automáticamente al tamaño de la pantalla utilizando propiedades avanzadas como auto-fit y minmax. ¡Prueba estos ejemplos en tus proyectos y descubre el potencial del CSS Grid Layout!

