Proprietà grid-column
La proprietà grid-column definisce
le posizioni iniziale e finale di un elemento
nella griglia per le colonne. I valori della proprietà possono
essere numeri positivi o negativi,
specificati tramite una barra. Il primo numero indica
la posizione iniziale dell'elemento, il secondo - la posizione finale.
Se specifichiamo un numero positivo come valore, la posizione dell'elemento viene contata da sinistra a destra. Specificando un numero negativo, l'elemento sarà posizionato in ordine inverso, cioè da destra a sinistra.
Sintassi
selettore {
grid-column: posizione iniziale / posizione finale;
}
Esempio
Assegniamo agli elementi nella griglia le posizioni iniziali e finali:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-column: 1 / 2;
}
#elem2 {
grid-column: 1 / 3;
}
#elem3 {
grid-column: 1 / 4;
}
:
Esempio
Ora specifichiamo numeri negativi
nella proprietà grid-column:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-column: 1 / -2;
}
#elem2 {
grid-column: 1 / -3;
}
#elem3 {
grid-column: 1 / -4;
}
:
Esempio
Ora facciamo in modo che il primo, il secondo e il terzo elemento siano posizionati nella prima riga. E il quarto elemento occupi tutta la seconda riga:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-column: 1 / 2;
}
#elem2 {
grid-column: 2 / 3;
}
#elem3 {
grid-column: 3 / 4;
}
#elem4 {
grid-column: 1 / 4;
}
:
Esempio
Quando le colonne occupate da elementi adiacenti si sovrappongono, ogni elemento successivo si sposta sulla riga sottostante. Utilizziamo questa caratteristica per posizionare il primo elemento nella prima riga, il secondo - nella seconda, e il terzo e il quarto - nella terza riga:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-column: 1 / 4;
}
#elem2 {
grid-column: 2 / 3;
}
#elem3 {
grid-column: 1 / 2;
}
#elem4 {
grid-column: 3 / 4;
}
:
Esempio
Combiniamo le proprietà grid-column
e grid-row:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
border: 2px solid #696989;
padding: 10px;
height: 300px;
width: 400px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 3;
}
#elem2 {
grid-row: 1 / 2;
}
#elem3 {
grid-row: 1 / 2;
}
#elem4 {
grid-row: 2 / 3;
grid-column: 2 / 4;
}
:
Esempio
Ora facciamo in modo che il primo e il quinto blocco occupino l'intera riga, il secondo blocco - due righe e due colonne, e il terzo e il quarto blocco - una riga e due colonne:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
<div id="elem5">5</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
border: 2px solid #696989;
padding: 10px;
height: 300px;
width: 400px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 2;
grid-column: 1 / 4;
}
#elem2 {
grid-row: 2 / 4;
grid-column: 1 / 2;
}
#elem3 {
grid-row: 2 / 3;
grid-column: 2 / 4;
}
#elem4 {
grid-row: 3 / 3;
grid-column: 2 / 4;
}
#elem5 {
grid-row: 4 / 5;
grid-column: 1 / 4;
}
:
Vedi anche
-
la proprietà
grid-row,
che definisce le posizioni iniziale e finale di un elemento nella griglia per le righe -
la proprietà
grid-column-start,
che definisce la posizione iniziale di un elemento nella griglia per le colonne -
la proprietà
grid-column-end,
che definisce la posizione finale di un elemento nella griglia per le colonne -
la proprietà
grid-template-columns,
che definisce il numero e la larghezza delle colonne nella griglia -
la proprietà
grid-auto-columns,
che definisce il numero e la larghezza delle colonne nella griglia implicita