Ricerca…


introduzione

Il layout a griglia è un nuovo e potente sistema di layout CSS che consente di dividere un contenuto di una pagina Web in righe e colonne in modo semplice.

Osservazioni

Il modulo Livello di griglia CSS Livello 1 è, a partire dal 9 settembre 2016, una Raccomandazione del Candidato W3C. È considerato in fase di test ( https://www.w3.org/Style/CSS/current-work) .

A partire dal 3 luglio 2017, i browser Internet Explorer 10 e 11 di Microsoft e Edge supportano solo una versione precedente delle specifiche utilizzando un prefisso del fornitore.

Esempio di base

Proprietà Valori possibili
display griglia / griglia in linea

La griglia CSS è definita come proprietà di visualizzazione. Si applica solo a un elemento genitore e ai suoi figli immediati.

Considera il seguente markup:

<section class="container">
  <div class="item1">item1</div>
  <div class="item2">item2</div>
  <div class="item3">item3</div>
  <div class="item4">item4</div>
</section>

Il modo più semplice per definire la struttura di markup sopra come una griglia è semplicemente impostare la proprietà di display sulla grid :

.container {
  display: grid;   
}

Tuttavia, facendo ciò invariabilmente causerà il collasso di tutti gli elementi figlio uno sopra l'altro. Questo perché i bambini attualmente non sanno come posizionarsi all'interno della griglia. Ma possiamo dire esplicitamente a loro.

Per prima cosa dobbiamo dire all'elemento della griglia .container quante righe e colonne compongono la sua struttura e possiamo farlo usando le proprietà grid-columns e grid-rows (notare la pluralizzazione):

.container {
  display: grid;
  grid-columns: 50px 50px 50px;
  grid-rows: 50px 50px;
}

Tuttavia, questo ancora non ci aiuta molto perché dobbiamo dare un ordine a ciascun elemento figlio. Possiamo farlo specificando i valori della grid-row grid-column e della grid-column che indicano dove si trova nella griglia:

.container .item1 {
  grid-column: 1;
  grid-row: 1;
}
.container .item2 {
  grid-column: 2;
  grid-row: 1;
}
.container .item3 {
  grid-column: 1;
  grid-row: 2;
}
.container .item4 {
  grid-column: 2;
  grid-row: 2;
}

Dando a ciascun articolo un valore di colonna e riga identifica l'ordine degli articoli all'interno del contenitore.

Visualizza un esempio funzionante su JSFiddle . Dovrai visualizzarlo in IE10, IE11 o Edge perché funzioni come sono attualmente gli unici browser che supportano il Grid Layout (con il prefisso del fornitore -ms- ) o abilitano un flag in Chrome, Opera e Firefox in base a caniuse in ordine per testare con loro.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow