Vlastnost align-self
Vlastnost align-self nastavuje zarovnání
podél příčné osy pro jednotlivý
flex-blok a podél svislé osy pro jednotlivý
prvek v gridu.
V podstatě tato vlastnost představuje
vlastnost
align-items,
ale pro konkrétní blok.
Syntaxe
selektor {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
Hodnoty
| Hodnota | Popis |
|---|---|
flex-start |
Blok je přitlačen k začátku příčné osy. |
flex-end |
Blok je přitlačen ke konci příčné osy. |
center |
Blok je umístěn uprostřed příčné osy. |
baseline |
Blok je zarovnán podle své základní linie.
Základní linie je pomyslná čára,
procházející podél spodního okraje znaků bez zohlednění převisů,
jako například u písmen 'p', 'q', 'y',
'g'.
|
stretch |
Blok je roztažen, zabírá veškerý dostupný prostor podél příčné osy,
přičemž jsou však brány v úvahu min-width a max-width,
pokud jsou nastaveny. Pokud je nastavena šířka a výška prvku -
stretch bude ignorován.
|
auto |
Blok bude zarovnán tak, jak je nastaveno ve vlastnosti
align-items.
|
Výchozí hodnota: auto.
Příklad . Hodnota stretch
V tomto příkladu je všem blokům nastavena hodnota
flex-start (vlastnost align-items),
a třetímu bloku - align-self s hodnotou
stretch:
<div id="parent">
<div>1</div>
<div>2</div>
<div id="elem">3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: flex;
align-items: flex-start;
flex-direction: row;
border: 1px solid #696989;
height: 100px;
}
#parent > div {
min-width: 100px;
border: 1px solid #696989;
}
#elem {
align-self: stretch;
}
:
Příklad . Hodnota flex-end
V tomto příkladu je všem blokům pro vlastnost
align-items nastavena hodnota flex-start,
a třetímu bloku - align-self s hodnotou
flex-end:
<div id="parent">
<div>1</div>
<div>2</div>
<div id="elem">3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: flex;
align-items: flex-start;
flex-direction: row;
border: 1px solid #696989;
height: 100px;
}
#parent > div {
min-width: 100px;
border: 1px solid #696989;
}
#elem {
align-self: flex-end;
}
:
Příklad . Zarovnání k začátku svislé osy v gridu
Nastavme zarovnání pro první prvek k začátku svislé osy:
<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: 100px 100px;
grid-template-rows: repeat(3, 1fr);
gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
align-self: start;
}
:
Příklad . Zarovnání do středu svislé osy v gridu
Nastavme zarovnání prvního prvku do středu svislé osy:
<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);
gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
align-self: center;
}
:
Příklad . Zarovnání ke konci svislé osy v gridu
Nastavme zarovnání pro náš první prvek v gridu ke konci svislé osy:
<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);
gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
align-self: end;
}
:
Viz také
-
vlastnost
flex-direction,
která nastavuje směr os flex bloků -
vlastnost
justify-content,
která nastavuje zarovnání podél hlavní osy -
vlastnost
align-items,
která nastavuje zarovnání podél příčné osy -
vlastnost
flex-wrap,
která nastavuje víceřádkovost flex bloků -
vlastnost
flex-flow,
zkratka pro flex-direction a flex-wrap -
vlastnost
order,
která nastavuje pořadí flex bloků -
vlastnost
flex-basis,
která nastavuje velikost konkrétního flex bloku -
vlastnost
flex-grow,
která nastavuje "dravost" flex bloků -
vlastnost
flex-shrink,
která nastavuje stlačitelnost flex bloků -
vlastnost
flex,
zkratka proflex-grow,flex-shrinkaflex-basis