Allineamento di un singolo elemento lungo entrambi gli assi nella CSS Grid

È possibile allineare un singolo elemento contemporaneamente sia lungo l'asse orizzontale che lungo quello verticale combinando le proprietà justify-self e align-self.

Per inizio orizzontale e centro verticale

Impostiamo l'allineamento per il nostro primo elemento per inizio dell'asse orizzontale e centro di quello verticale:

html<div id="parent">
  <div id="elem1">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: 100px 100px;
  grid-template-rows: repeat(3, 1fr);
  grid-gap: 10px;
  padding: 10px;
  border: 2px solid #696989;
  height: 200px;
  width: 400px;
}
#parent > div {
  grid-gap: 10px;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #696989;
}
#elem1 {
  justify-self: start;
  align-self: center;
}

Результат:

Per centro orizzontale e inizio verticale

Ora impostiamo l'allineamento del primo elemento per centro dell'asse orizzontale e inizio di quello verticale:

html<div id="parent">
  <div id="elem1">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: 100px 100px;
  grid-template-rows: repeat(3, 1fr);
  grid-gap: 10px;
  padding: 10px;
  border: 2px solid #696989;
  height: 200px;
  width: 400px;
}
#parent > div {
  grid-gap: 10px;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #696989;
}
#elem1 {
  justify-self: center;
  align-self: start;
}

Результат:

Per fine orizzontale e centro verticale

Impostiamo l'allineamento del primo elemento per fine dell'asse orizzontale e centro di quello verticale:

html<div id="parent">
  <div id="elem1">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: 100px 100px;
  grid-template-rows: repeat(3, 1fr);
  grid-gap: 10px;
  padding: 10px;
  border: 2px solid #696989;
  height: 200px;
  width: 400px;
}
#parent > div {
  grid-gap: 10px;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #696989;
}
#elem1 {
  justify-self: end;
  align-self: center;
}

Результат:

Compiti pratici

Задание 1

Crea una griglia composta da sei elementi e posizionali su due righe. Esegui l'allineamento del secondo elemento per inizio dell'asse orizzontale e centro di quello verticale.

Задание 2

Ora posiziona gli elementi della griglia su tre righe e imposta l'allineamento del terzo elemento per centro dell'asse orizzontale e fine di quello verticale.

Задание 3

Modifica il compito precedente, in modo che l'allineamento del quarto elemento avvenga per fine dell'asse orizzontale e centro di quello verticale.

Задание 4

Ora fai in modo che l'allineamento del quinto elemento avvenga per inizio dell'asse orizzontale e inizio di quello verticale, e del sesto elemento - per fine dell'asse orizzontale e centro di quello verticale.