Wartość auto jest domyślną wartością właściwości align-self.
Wartość auto właściwości align-self elementu dziecka elementu HTML tworzącego układ elastyczny wskazuje na wartość, jaką posiada właściwość align-items elementu HTML tworzącego dany układ elastyczny.
align-self:auto;
Do przykładowego elementu "div#flexbox" została dodana właściwość "align-items" wraz z wartością "center", dzięki czemu wartością domyślną właściwości "align-self" drugiego elementu dziecka przykładowego elementu "div#flexbox" jest również wartość "center", a co za tym idzie znajdujący się w anonimowym bloku drugi element dziecko przykładowego elementu "div#flexbox" został wyśrodkowany w obszarze anonimowego bloku względem początku oraz końca osi poprzecznej przykładowego elementu "div#flexbox".
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Darmowy Kurs CSS</title>
<style>
html {
font-size:16px;
font-family:Helvetica, sans-serif;
}
#flexbox {
display:flex;
align-items:center;
height:200px;
padding:1em;
font-size:1.3em;
background-color:#7DCDE8;
}
#flexbox > div {
padding:0.5em;
}
#flexbox > :nth-child(1) {
align-self:stretch;
background-color:red;
}
#flexbox > :nth-child(2) {
background-color:orange;
}
#flexbox > :nth-child(3) {
align-self:stretch;
background-color:yellow;
}
</style>
</head>
<body>
<div id="flexbox">
<div>div - 1</div>
<div>div - 2</div>
<div>div - 3</div>
</div>
</body>
</html>
Wartość normal właściwości align-self elementu dziecka elementu HTML typu flex lub inline-flex działa na takiej samej zasadzie jak wartość stretch.
align-self:normal;
Ze względu na to, iż przykładowy element "div#flexbox" jest typu "flex" wartość "normal" właściwości "align-self", która została dodana do drugiego dziecka przykładowego elementu "div#flexbox" działa na takiej samej zasadzie jak wartość "stretch", a co za tym idzie rozmiar wysokości obszaru zawartości znajdującego się w anonimowym bloku drugiego elementu dziecka przykładowego elementu "div#flexbox" został rozciągnięty w obszarze anonimowego bloku wzdłuż osi poprzecznej przykładowego elementu "div#flexbox".
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Darmowy Kurs CSS</title>
<style>
html {
font-size:16px;
font-family:Helvetica, sans-serif;
}
#flexbox {
display:flex;
align-items:center;
height:200px;
padding:1em;
font-size:1.3em;
background-color:#7DCDE8;
}
#flexbox > div {
padding:0.5em;
}
#flexbox > :nth-child(1) {
background-color:red;
}
#flexbox > :nth-child(2) {
align-self:normal;
background-color:orange;
}
#flexbox > :nth-child(3) {
background-color:yellow;
}
</style>
</head>
<body>
<div id="flexbox">
<div>div - 1</div>
<div>div - 2</div>
<div>div - 3</div>
</div>
</body>
</html>
Za pomocą wartości flex-start właściwości align-self możemy sprawić, że znajdujący się w anonimowym bloku interesujący nas element dziecko elementu HTML tworzącego układ elastyczny zostanie wyrównany w obszarze wspomnianego anonimowego bloku wzdłuż osi poprzecznej, w kierunku początku tejże osi poprzecznej.
align-self:flex-start;
Znajdujący się w anonimowym bloku drugi element dziecko przykładowego elementu "div#flexbox" został wyrównany w obszarze anonimowego bloku wzdłuż osi poprzecznej przykładowego elementu "div#flexbox", w kierunku początku osi poprzecznej przykładowego elementu "div#flexbox", ponieważ do wspomnianego drugiego dziecka przykładowego elementu "div#flexbox" została dodana właściwość "align-self" wraz z wartością "flex-start".
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Darmowy Kurs CSS</title>
<style>
html {
font-size:16px;
font-family:Helvetica, sans-serif;
}
#flexbox {
display:flex;
height:200px;
padding:1em;
font-size:1.3em;
background-color:#7DCDE8;
}
#flexbox > div {
padding:0.5em;
}
#flexbox > :nth-child(1) {
background-color:red;
}
#flexbox > :nth-child(2) {
align-self:flex-start;
background-color:orange;
}
#flexbox > :nth-child(3) {
background-color:yellow;
}
</style>
</head>
<body>
<div id="flexbox">
<div>div - 1</div>
<div>div - 2</div>
<div>div - 3</div>
</div>
</body>
</html>
Za pomocą wartości flex-end właściwości align-self możemy sprawić, że znajdujący się w anonimowym bloku interesujący nas element dziecko elementu HTML tworzącego układ elastyczny zostanie wyrównany w obszarze wspomnianego anonimowego bloku wzdłuż osi poprzecznej, w kierunku końca tejże osi poprzecznej.
align-self:flex-end;
Znajdujący się w anonimowym bloku drugi element dziecko przykładowego elementu "div#flexbox" został wyrównany w obszarze anonimowego bloku wzdłuż osi poprzecznej przykładowego elementu "div#flexbox", w kierunku końca osi poprzecznej przykładowego elementu "div#flexbox", ponieważ do wspomnianego drugiego dziecka przykładowego elementu "div#flexbox" została dodana właściwość "align-self" wraz z wartością "flex-end".
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Darmowy Kurs CSS</title>
<style>
html {
font-size:16px;
font-family:Helvetica, sans-serif;
}
#flexbox {
display:flex;
height:200px;
padding:1em;
font-size:1.3em;
background-color:#7DCDE8;
}
#flexbox > div {
padding:0.5em;
}
#flexbox > :nth-child(1) {
background-color:red;
}
#flexbox > :nth-child(2) {
align-self:flex-end;
background-color:orange;
}
#flexbox > :nth-child(3) {
background-color:yellow;
}
</style>
</head>
<body>
<div id="flexbox">
<div>div - 1</div>
<div>div - 2</div>
<div>div - 3</div>
</div>
</body>
</html>
Za pomocą wartości center właściwości align-self możemy sprawić, że znajdujący się w anonimowym bloku interesujący nas element dziecko elementu HTML tworzącego układ elastyczny zostanie wyśrodkowany w obszarze wspomnianego anonimowego bloku względem początku oraz końca osi poprzecznej.
align-self:center;
Znajdujący się w anonimowym bloku drugi element dziecko przykładowego elementu "div#flexbox" został wyśrodkowany w obszarze anonimowego bloku względem początku oraz końca osi poprzecznej przykładowego elementu "div#flexbox", ponieważ do wspomnianego drugiego dziecka przykładowego elementu "div#flexbox" została dodana właściwość "align-self" wraz z wartością "center".
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Darmowy Kurs CSS</title>
<style>
html {
font-size:16px;
font-family:Helvetica, sans-serif;
}
#flexbox {
display:flex;
height:200px;
padding:1em;
font-size:1.3em;
background-color:#7DCDE8;
}
#flexbox > div {
padding:0.5em;
}
#flexbox > :nth-child(1) {
background-color:red;
}
#flexbox > :nth-child(2) {
align-self:center;
background-color:orange;
}
#flexbox > :nth-child(3) {
background-color:yellow;
}
</style>
</head>
<body>
<div id="flexbox">
<div>div - 1</div>
<div>div - 2</div>
<div>div - 3</div>
</div>
</body>
</html>
Za pomocą wartości stretch właściwości align-self możemy sprawić, że znajdujący się w anonimowym bloku interesujący nas element dziecko elementu HTML tworzącego układ elastyczny zostanie wyrównany w stylu stretch. Styl stretch oznacza, że jeżeli wzdłuż osi poprzecznej w obszarze anonimowego bloku, w którym znajduje się dany element dziecko, pozostała wolna przestrzeń, wtedy na podstawie rozmiaru tej wolnej przestrzeni w obszarze anonimowego bloku zostanie dokonane rozciągnięcie znajdującego się na wspomnianej osi poprzecznej rozmiaru obszaru zawartości elementu dziecka.
Rozmiar szerokości obszaru zawartości elementu dziecka może zostać rozciągnięty tylko w przypadku, gdy wartością właściwości width elementu dziecka jest wartość auto, natomiast rozmiar wysokości obszaru zawartości elementu dziecka może zostać rozciągnięty tylko w przypadku, gdy wartością właściwości height elementu dziecka jest wartość auto. Gdy docelowy rozmiar obszaru zawartości danego elementu dziecka elementu HTML tworzącego układ elastyczny nie może zostać rozciągnięty, wtedy wartość "stretch" dla danego elementu dziecka działa na takiej samej zasadzie jak wartość flex-start.
align-self:stretch;
Rozmiar wysokości obszaru zawartości znajdującego się w anonimowym bloku drugiego elementu dziecka przykładowego elementu "div#flexbox" został rozciągnięty w obszarze anonimowego bloku wzdłuż osi poprzecznej przykładowego elementu "div#flexbox", ponieważ do wspomnianego drugiego dziecka przykładowego elementu "div#flexbox" została dodana właściwość "align-self" wraz z wartością "stretch".
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Darmowy Kurs CSS</title>
<style>
html {
font-size:16px;
font-family:Helvetica, sans-serif;
}
#flexbox {
display:flex;
align-items:center;
height:200px;
padding:1em;
font-size:1.3em;
background-color:#7DCDE8;
}
#flexbox > div {
padding:0.5em;
}
#flexbox > :nth-child(1) {
background-color:red;
}
#flexbox > :nth-child(2) {
align-self:stretch;
background-color:orange;
}
#flexbox > :nth-child(3) {
background-color:yellow;
}
</style>
</head>
<body>
<div id="flexbox">
<div>div - 1</div>
<div>div - 2</div>
<div>div - 3</div>
</div>
</body>
</html>