CodeGym /Corsi /Frontend SELF IT /Distribuzione degli elementi

Distribuzione degli elementi

Frontend SELF IT
Livello 27 , Lezione 3
Disponibile

4.1 Proprietà grid-column

CSS Grid Layout offre strumenti fantastici per gestire il posizionamento degli elementi nella griglia. Tra gli strumenti principali ci sono le proprietà grid-row e grid-column. Queste proprietà permettono agli sviluppatori di specificare esattamente quali righe e colonne devono occupare gli elementi della griglia, garantendo flessibilità e controllo sul layout.

La proprietà grid-column definisce quali colonne un elemento occuperà all'interno del grid-container.

Sintassi:

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

Dove:

  • start: linea iniziale della griglia
  • end: linea finale della griglia

Esempio 1: Posizionare un elemento in una colonna specifica

In questo esempio l'elemento sarà posizionato tra la seconda e la terza linea della griglia, occupando la seconda colonna:

CSS
    
      .grid-item {
        grid-column: 2 / 3; /* L'elemento occupa lo spazio tra la seconda e la terza linea della griglia */
      }
    
  

Esempio 2: Elemento che occupa più colonne

In questo esempio l'elemento occuperà tre colonne, iniziando dalla prima linea e finendo alla quarta linea della griglia:

CSS
    
      .grid-item {
        grid-column: 1 / 4; /* L'elemento occupa lo spazio dalla prima alla quarta linea della griglia */
      }
    
  

Esempio 3: Usare span per coprire più colonne

In questo esempio l'elemento occuperà due colonne, a partire dalla posizione corrente:

CSS
    
      .grid-item {
        grid-column: span 2; /* L'elemento occupa due colonne, a partire dalla posizione corrente */
      }
    
  

4.2 Proprietà grid-row

La proprietà grid-row definisce quali righe un elemento occuperà all'interno del grid-container.

Sintassi:

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

Dove:

  • start: linea iniziale della griglia
  • end: linea finale della griglia

Esempio 1: Posizionare un elemento in una riga specifica

In questo esempio l'elemento sarà posizionato tra la prima e la seconda linea della griglia, occupando la prima riga:

CSS
    
      .grid-item {
        grid-row: 1 / 2; /* L'elemento occupa lo spazio tra la prima e la seconda linea della griglia */
      }
    
  

Esempio 2: Elemento che occupa più righe

In questo esempio l'elemento occuperà due righe, iniziando dalla seconda linea e finendo alla quarta linea della griglia:

CSS
    
      .grid-item {
        grid-row: 2 / 4; /* L'elemento occupa lo spazio dalla seconda alla quarta linea della griglia */
      }
    
  

Esempio 3: Usare span per coprire più righe

In questo esempio l'elemento occuperà tre righe, a partire dalla posizione corrente:

CSS
    
      .grid-item {
        grid-row: span 3; /* L'elemento occupa tre righe, a partire dalla posizione corrente */
      }
    
  

Esempio 4. Usare valori negativi

CSS
    
      .element {
        grid-row: 1 / -1; /* L'elemento inizia alla prima linea e finisce all'ultima */
      }
    
  

4.3 Combinare le proprietà grid-row e grid-column

Per creare layout più complessi, puoi combinare le proprietà grid-row e grid-column per un controllo preciso del posizionamento degli elementi.

Esempio: Layout complesso usando grid-row e 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; /* L'elemento occupa la prima e seconda riga */
              grid-column: 1 / 3; /* L'elemento occupa la prima e seconda colonna */
            }

            .item2 {
              background-color: lightgreen;
              grid-row: 3 / 5; /* L'elemento occupa la terza e quarta riga */
              grid-column: 2 / 5; /* L'elemento occupa la seconda, terza e quarta colonna */
            }

            .item3 {
              background-color: lightcoral;
              grid-row: 1 / 2; /* L'elemento occupa la prima riga */
              grid-column: 3 / 5; /* L'elemento occupa la terza e quarta colonna */
            }
          </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>
    
  

Spiegazione:

  • Il container .container ha quattro righe e quattro colonne, ognuna delle quali occupa uno spazio uguale
  • L'elemento .item1 occupa le prime due righe e le prime due colonne
  • L'elemento .item2 occupa la terza e quarta riga e la seconda, terza e quarta colonna
  • L'elemento .item3 occupa la prima riga e la terza e quarta colonna
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION