Cursos Coulex
  • Nuestra Web
  • CSS

    • Introducción
    • Animaciones
    • Bordes
    • Modelo de cajas
    • Colores
    • CSS Grid
    • Flexbox
    • Fondos
    • Fuentes
    • Imágenes
    • Margen
    • Media Queries
    • Padding
    • Propiedades
    • Pseudoclases
    • Pseudoelementos
    • Selectores
    • Transformaciones
    • Transiciones
    • Variables

    CSS Grid

    CSS Grid es un sistema de diseño bidimensional que permite crear layouts de página complejos utilizando una serie de filas y columnas. A diferencia de Flexbox, que es un sistema de diseño unidimensional, CSS Grid te permite trabajar tanto en el eje horizontal como en el vertical de manera simultánea.

    Propiedad display: grid

    Para activar CSS Grid, el contenedor debe tener la propiedad display configurada a grid. Esto convierte el contenedor en un contenedor de grid y a sus elementos hijos en "items" del grid.

    
    .container {
        display: grid;
    }
            

    Este código convierte el contenedor en un grid, permitiendo que los elementos dentro de él se organicen según las reglas de CSS Grid.

    Definir filas y columnas con grid-template-rows y grid-template-columns

    Las propiedades grid-template-rows y grid-template-columns se utilizan para definir el tamaño de las filas y columnas en el grid. Puedes especificar valores en píxeles, porcentajes, fracciones del espacio disponible (fr) y otras unidades.

    Ejemplo de filas y columnas:

    
    .container {
        display: grid;
        grid-template-columns: 200px 1fr 200px;
        grid-template-rows: 100px auto;
    }
            

    Este código define un grid con tres columnas: la primera columna tiene un ancho de 200 píxeles, la segunda columna ocupa el espacio restante disponible (1fr), y la tercera columna tiene un ancho de 200 píxeles. Las filas tienen un alto fijo de 100 píxeles para la primera fila, y la segunda fila se ajusta automáticamente al contenido.

    Propiedad grid-gap (o gap)

    La propiedad grid-gap se utiliza para definir el espacio entre las filas y columnas de un grid. También puede usarse la propiedad abreviada gap.

    
    .container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 20px;
    }
            

    Este código establece un espacio de 20 píxeles entre cada fila y columna del grid.

    Colocación de items en el grid

    Una vez que hayas definido el grid, puedes colocar los elementos dentro de él usando las propiedades grid-column y grid-row. Estas propiedades te permiten especificar en qué columna y fila debe colocarse un item del grid.

    Ejemplo de colocación de un item:

    
    .item {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
    }
            

    Este código coloca un item que ocupa las dos primeras columnas (de la columna 1 a la 3) y la primera fila (de la fila 1 a la 2).

    Propiedades abreviadas: grid-area

    La propiedad grid-area permite colocar un item dentro de una celda o área definida por una combinación de filas y columnas. Es una forma abreviada de usar las propiedades grid-row-start, grid-column-start, grid-row-end y grid-column-end.

    
    .item {
        grid-area: 1 / 1 / 2 / 3;
    }
            

    Este código coloca el item en la primera fila, desde la primera columna hasta la tercera columna, ocupando todo ese espacio.

    Definir áreas con grid-template-areas

    La propiedad grid-template-areas permite definir áreas con nombres, lo que facilita la organización de un layout complejo y su asignación. Cada área es un bloque en el que se pueden colocar los elementos del grid.

    
    .container {
        display: grid;
        grid-template-areas: 
        "header header header"
        "main sidebar sidebar"
        "footer footer footer";
    }
      
    .item-header { grid-area: header; }
    .item-main { grid-area: main; }
    .item-sidebar { grid-area: sidebar; }
    .item-footer { grid-area: footer; }
            

    Este código define un grid con cuatro áreas: header, main, sidebar y footer. Cada área se coloca en su correspondiente elemento utilizando la propiedad grid-area.

    Conclusión

    CSS Grid es una herramienta extremadamente potente y flexible para la creación de layouts complejos. Gracias a su sistema de filas y columnas, y la posibilidad de colocar elementos en cualquier parte del grid, te permite crear estructuras avanzadas con un control total sobre el espacio. Además, la propiedad grid-template-areas hace que trabajar con layouts complejos sea más intuitivo y fácil de mantener.

    Anterior Siguiente

    Cursos Coulex

    Desarrollado por Coulex Software