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 clase grid-container para agrupar todos los elementos del layout.

  • Elementos del Layout: Incluimos varios <div> con la clase item y 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-sizing sea border-box y eliminamos los márgenes del body.

  • Contenedor de la Cuadrícula: Configuramos el contenedor del grid con display: grid, un gap para añadir espacio entre los elementos, y un background-color para visualizar mejor los límites del contenedor. Usamos grid-template-columns con repeat(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!

Reply

Avatar

or to participate

Sigue leyendo