Proprietà grid-row
La proprietà grid-row definisce
le posizioni iniziale e finale di un elemento
nella griglia lungo le righe. I valori della proprietà possono
essere numeri positivi o negativi,
separati da 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 dall'alto
verso il basso. Specificando un numero negativo, l'elemento
si posizionerà in ordine inverso,
cioè dal basso verso l'alto.
Sintassi
selettore {
grid-row: 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-row: 1 / 2;
}
#elem2 {
grid-row: 2 / 3;
}
#elem3 {
grid-row: 3 / 4;
}
:
Esempio
Ora specifichiamo numeri negativi
nella proprietà grid-row:
<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-row: -1 / -2;
}
#elem2 {
grid-row: -2 / -3;
}
#elem3 {
grid-row: -3 / -4;
}
:
Esempio
Facciamo in modo che il primo blocco occupi due righe:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr;
height: 300px;
width: 400px;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 3; /* due righe */
}
#elem2 {
grid-row: 1 / 2;
}
#elem3 {
grid-row: 2 / 3;
}
:
Esempio
Ora assegniamo al quarto blocco tre righe:
<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;
height: 300px;
width: 400px;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 2;
}
#elem2 {
grid-row: 2 / 3;
}
#elem3 {
grid-row: 3 / 4;
}
#elem4 {
grid-row: 1 / 4;
}
:
Esempio
Combiniamo le proprietà grid-row
e grid-column:
<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-column,
che definisce le posizioni iniziale e finale di un elemento nella griglia lungo le colonne -
la proprietà
grid-row-start,
che definisce la posizione iniziale di un elemento nella griglia lungo le righe -
la proprietà
grid-row-end,
che definisce la posizione finale di un elemento nella griglia lungo le righe