213 of 313 menu

Proprietà grid-template-columns

La proprietà grid-template-columns definisce il numero e la larghezza delle colonne che l'elemento occuperà nella griglia. La proprietà viene specificata nell'elemento genitore e determina la larghezza delle colonne degli elementi figli. Nel valore della proprietà specifichiamo la larghezza delle colonne in qualsiasi unità di misura per le dimensioni.

Quando si specificano valori in pixel nelle proprietà, le dimensioni delle colonne corrisponderanno esattamente ad essi. Se specifichiamo la parola auto, le colonne riempiranno tutto lo spazio disponibile. L'uso dell'unità fr (frazione) significa che tutto lo spazio sarà suddiviso in parti uguali. Il vantaggio di fr è la sua adattabilità a diversi contenitori o risoluzioni dello schermo, poiché fr divide semplicemente lo spazio nel numero indicato di frazioni senza legarsi a una dimensione precisa in pixel.

Sintassi

selettore { grid-template-columns: larghezza colonna; }

Esempio

Specifichiamo la larghezza delle colonne per i nostri elementi nella griglia:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: 50px 100px 200px 50px; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Assegniamo alla prima e alla terza colonna una larghezza fissa in pixel, e lasciamo che la seconda colonna riempia automaticamente lo spazio disponibile:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-columns: 100px auto 150px; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Ora utilizziamo la proprietà grid-template-columns per fare in modo che la prima e la seconda colonna occupino una parte del contenitore, e la terza colonna - tre parti:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-columns: 1fr 1fr 3fr; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

I valori specificati in unità fr possono essere frazionari. Modifichiamo l'esempio precedente, specificando per la seconda e la terza colonna una larghezza in numeri frazionari:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-columns: 1fr 0.5fr 2.5fr; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Specifichiamo nella proprietà grid-template-columns la funzione repeat(), che indica al contenitore che tutte e tre le colonne devono avere la stessa larghezza:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-columns: repeat(3, 1fr); border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Ora modifichiamo l'esempio precedente in modo che alle tre colonne uguali se ne aggiunga una quarta, che occuperà due frazioni del contenitore:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(3, 1fr) 2fr; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Assegniamo alle prime due colonne una larghezza di una frazione del contenitore, e alle ultime due colonne - di due frazioni:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(2, 1fr) repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Ora impostiamo la larghezza delle colonne combinando valori specificati tramite la funzione repeat() e unità libere fr:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> </div> #parent { display: grid; grid-template-columns: repeat(2, 1fr) 3fr repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Inoltre, nella funzione repeat() si può specificare il valore auto-fill, che riempirà il nostro contenitore con colonne identiche della larghezza desiderata:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(auto-fill, 200px); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

È molto comodo specificare insieme a auto-fill la funzione minmax, che definisce un intervallo di larghezza per le colonne da un valore minimo a uno massimo. Se la larghezza del contenitore non può contenere tutte le colonne, alcune di esse si sposteranno su una nuova riga, mentre le colonne nella riga si distribuiranno uniformemente al suo interno. Modifichiamo l'esempio precedente, specificando in esso la funzione minmax. Per vedere le diverse varianti di disposizione delle colonne, modificate la larghezza della pagina del vostro browser:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Ora specifichiamo la proprietà auto-fit, la cui differenza da auto-fill consiste nel fatto che adatta il numero di colonne alla larghezza disponibile del contenitore, espandendole o comprimendole:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Insieme a fr si possono anche utilizzare valori in %, che definiscono anch'essi quale parte del contenitore occuperà la colonna. In questo caso, verrà prima calcolata la dimensione della colonna in %, e lo spazio libero rimanente verrà suddiviso in frazioni:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: 50% 1fr 2fr 30%; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Utilizziamo insieme le proprietà grid-template-columns e grid-template-rows:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Utilizziamo le proprietà grid-template-columns e grid-template-rows per creare una tabella di nove celle, disposte in tre righe. Inoltre, la seconda e la terza riga avranno la stessa larghezza, mentre ogni colonna avrà una larghezza diversa:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 60px 1fr 60px; grid-template-columns: 20% 1fr 15%; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Esempio

Ora, nella tabella dell'esempio precedente, facciamo in modo che la riga superiore abbia una larghezza di due frazioni, e la prima colonna - di mezza frazione:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 2fr 1fr 1fr; grid-template-columns: 0.5fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Vedi anche

  • la proprietà grid-template-rows,
    che definisce il numero e l'altezza delle righe nella griglia
  • la proprietà grid-auto-columns,
    che definisce il numero e la larghezza delle colonne nella griglia implicita
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta