CodeGym /Cursos /Frontend SELF ES /Distribución de elementos

Distribución de elementos

Frontend SELF ES
Nivel 27 , Lección 3
Disponible

4.1 Propiedad grid-column

CSS Grid Layout ofrece buenas herramientas para manejar la colocación de elementos en la cuadrícula. Entre las herramientas principales están las propiedades grid-row y grid-column. Estas propiedades permiten a los desarrolladores especificar exactamente qué filas y columnas deben ocupar los elementos de la cuadrícula, proporcionando flexibilidad y control sobre el diseño.

La propiedad grid-column define qué columnas ocupará un elemento en el grid-container.

Sintaxis:

    
      .grid-item {
        grid-column: start / end;
      }
    
  

Donde:

  • start: línea inicial de la cuadrícula
  • end: línea final de la cuadrícula

Ejemplo 1: Colocación de un elemento en una columna específica

En este ejemplo, el elemento se ubicará entre la segunda y tercera líneas de la cuadrícula, ocupando la segunda columna:

CSS
    
      .grid-item {
        grid-column: 2 / 3; /* El elemento ocupa el espacio entre la segunda y tercera líneas de la cuadrícula */
      }
    
  

Ejemplo 2: Elemento que ocupa varias columnas

En este ejemplo, el elemento ocupará tres columnas, comenzando desde la primera línea y terminando en la cuarta línea de la cuadrícula:

CSS
    
      .grid-item {
        grid-column: 1 / 4; /* El elemento ocupa el espacio desde la primera hasta la cuarta línea de la cuadrícula */
      }
    
  

Ejemplo 3: Uso de span para abarcar múltiples columnas

En este ejemplo, el elemento abarcará dos columnas, comenzando desde la posición actual:

CSS
    
      .grid-item {
        grid-column: span 2; /* El elemento ocupa dos columnas, comenzando desde la posición actual */
      }
    
  

4.2 Propiedad grid-row

La propiedad grid-row define qué filas ocupará un elemento en el grid-container.

Sintaxis:

    
      .grid-item {
        grid-row: start / end;
      }
    
  

Donde:

  • start: línea inicial de la cuadrícula
  • end: línea final de la cuadrícula

Ejemplo 1: Colocación de un elemento en una fila específica

En este ejemplo, el elemento se ubicará entre la primera y segunda líneas de la cuadrícula, ocupando la primera fila:

CSS
    
      .grid-item {
        grid-row: 1 / 2; /* El elemento ocupa el espacio entre la primera y segunda líneas de la cuadrícula */
      }
    
  

Ejemplo 2: Elemento que ocupa varias filas

En este ejemplo, el elemento ocupará dos filas, comenzando desde la segunda línea y terminando en la cuarta línea de la cuadrícula:

CSS
    
      .grid-item {
        grid-row: 2 / 4; /* El elemento ocupa el espacio desde la segunda hasta la cuarta línea de la cuadrícula */
      }
    
  

Ejemplo 3: Uso de span para abarcar múltiples filas

En este ejemplo, el elemento abarcará tres filas, comenzando desde la posición actual:

CSS
    
      .grid-item {
        grid-row: span 3; /* El elemento ocupa tres filas, comenzando desde la posición actual */
      }
    
  

Ejemplo 4. Uso de valores negativos

CSS
    
      .element {
        grid-row: 1 / -1; /* El elemento comienza en la primera línea y termina en la última */
      }
    
  

4.3 Combinación de propiedades grid-row y grid-column

Para crear diseños más complejos, se pueden combinar las propiedades grid-row y grid-column para controlar con precisión la colocación de los elementos.

Ejemplo: Diseño complejo usando grid-row y grid-column

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Grid Row and Column Example</title>
          <style>
            .container {
              display: grid;
              grid-template-columns: repeat(4, 1fr);
              grid-template-rows: repeat(4, 100px);
              gap: 10px;
            }

            .item1 {
              background-color: lightblue;
              grid-row: 1 / 3; /* El elemento ocupa la primera y segunda filas */
              grid-column: 1 / 3; /* El elemento ocupa la primera y segunda columnas */
            }

            .item2 {
              background-color: lightgreen;
              grid-row: 3 / 5; /* El elemento ocupa la tercera y cuarta filas */
              grid-column: 2 / 5; /* El elemento ocupa la segunda, tercera y cuarta columnas */
            }

            .item3 {
              background-color: lightcoral;
              grid-row: 1 / 2; /* El elemento ocupa la primera fila */
              grid-column: 3 / 5; /* El elemento ocupa la tercera y cuarta columnas */
            }
          </style>
        </head>
        <body>
          <div class="container">
            <div class="item1">Item 1</div>
            <div class="item2">Item 2</div>
            <div class="item3">Item 3</div>
          </div>
        </body>
      </html>
    
  

Explicación:

  • El contenedor .container tiene cuatro filas y cuatro columnas, cada una ocupando un espacio igual
  • El elemento .item1 ocupa las dos primeras filas y las dos primeras columnas
  • El elemento .item2 ocupa la tercera y cuarta filas y la segunda, tercera y cuarta columnas
  • El elemento .item3 ocupa la primera fila y la tercera y cuarta columnas
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION