Zkratka pro zarovnání jednotlivého prvku v CSS gridu

Lze současně zarovnat jednotlivý prvek jak po horizontální, tak po vertikální ose. K tomu se používá vlastnost place-self. Přijímá dvě hodnoty oddělené mezerou. První hodnota určuje zarovnání po vertikále a druhá po horizontále. Podívejme se na příkladech.

Na střed vertikální a začátek horizontální

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 {
  place-self: center start;
}

Результат:

Na začátek vertikální a konec horizontální

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 {
  place-self: start end;
}

Результат:

Na konec vertikální a na střed horizontální

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 {
  place-self: end center;
}

Результат:

Praktické úlohy

Задание 1

Vytvořte grid skládající se z pěti prvků a umístěte je do tří řádků. Proveďte zarovnání prvního prvku na začátek horizontální a střed vertikální osy.

Задание 2

Upravte předchozí úlohu tak, aby zarovnání třetího prvku probíhalo na konec horizontální a střed vertikální osy.

Задание 3

Nyní umístěte prvky gridu do dvou řádků a nastavte zarovnání pátého prvku na střed horizontální a konec vertikální osy.

Задание 4

Zařiďte, aby byl druhý prvek zarovnán na začátek horizontální a konec vertikální osy, a čtvrtý prvek na střed horizontální a začátek vertikální osy.