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í
<div id="parent">
<div id="elem1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#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í
<div id="parent">
<div id="elem1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#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í
<div id="parent">
<div id="elem1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#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
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.
Upravte předchozí úlohu tak, aby zarovnání třetího prvku probíhalo na konec horizontální a střed vertikální osy.
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.
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.