[[:oktatas:web:css|< CSS]]
====== CSS flex ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2020
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== A CSS flexbox =====
A CSS flexbox a display tulajdonság számára
megadható újabb érték, amivel megszervezhetjük
a dobozaink elrendezését.
A beállítást a szülő elemen kell beállítani,
a display számára a "flex" értéket megadva.
A következő példában flex beállítás eredményét
láthatjuk:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
.burkolo {
display: flex;
}
.egy {
padding: 10px;
background-color: orange;
}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
A három doboz vízszintesen egyenletesen kitölti a rendelkezésre álló helyet.
Most nézzük, meg olyan esetet, amikor a tartalom kevés.
.burkolo {
display: flex;
}
.egy {
padding: 10px;
background-color: orange;
}
===== Arány meghatározása =====
.burkolo {
display: flex;
}
.burkolo div {
padding: 10px;
}
.burkolo .elso {
flex: 1;
background-color: green;
}
.burkolo .masodik {
flex: 2;
background-color: orange;
}
===== A flex-direction =====
A flex-direction beállítással változtatható
az elemek elrendezésének iránya.
A következő értéket lehetségesek:
| row | alapértelmezés |
| row-reverse | |
| column | |
| column-reverse | |
A row érték az alapértelmezés.
.burkolo {
display: flex;
flex-direction: row-reverse;
}
.egy {
padding: 10px;
background-color: orange;
}
A elemek jobbra, fordított sorrendben rendeződnek.
===== Justify-content =====
| flex-start | Alapértelmezés \\ A részek a doboz elejéhez igazodnak. |
| flex-end | A részek a doboz végéhez igazodnak. |
| center | A részek a doboz közepére igazodnak. |
| space-between | A soron belül a dobozok között hely. |
| space-around | A doboz előtt és utána is hely. |
.burkolo {
display: flex;
justify-content: center;
border: 1px solid navy;
}
.burkolo div {
background-color: orange;
padding: 10px;
}
Végére igazítva (flex-end):
Elejére igazítva (flex-start):
Soron belül, hely a dobozok között (space-between):
Soron belül, hely a dobozok között, két elemmel(space-between):
Soron belül, hely a dobozok előtt és utánaközött (space-around):
===== A flex-wrap =====
| nowrap | Alapértelmezett érték \\ A rugalmas rész ne legyen törve |
| wrap | Legyen törve, ha szükséges. |
| wrap-reverse | Legyen törve, ha szükséges, fordított sorrendben |
.burkolo008 {
display: flex;
flex-wrap: nowrap;
border: 1px solid navy;
width: 200px;
}
.burkolo008 div {
background-color: orange;
padding: 10px;
}
Lorem1
Lorem2
Lorem3
Lorem4
Lorem5
Lorem1
Lorem2
Lorem3
Lorem4
Lorem5
A tördelés engedélyezve (wrap)
Lorem1
Lorem2
Lorem3
Lorem4
Lorem5
A tördelés engedélyezve, fordított sorrendben (wrap-reverse)
Lorem1
Lorem2
Lorem3
Lorem4
Lorem5
===== Az align-items =====
| stretch | Alapértelmezett érték. Nyújtás. |
| center | A konténerben középre van igazítva. |
| flex-start | A konténer kezdetéhez igazítás. |
| flex-end | A konténer végéhez igazítva. |
| baseline | A konténer alapvonalához igazítva. |
.burkolo {
display: flex;
align-items: stretch;
border: 1px solid navy;
width: 200px;
height: 300px;
}
.burkolo div {
background-color: orange;
padding: 10px;
}
Nyújtás:
Középre igazítás (center):
Igazítás a konténer elejére (flex-start):
Igazítás a konténer végére (flex-end):
Igazítás a konténer alapvonalához (baseline):
Egyéb:
* https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
===== Az align-content =====
A tartalom igazítása soronként.
| stretch | Alapértelmezett érték. Nyújtás. |
| center | A konténerben középre van igazítva. |
| flex-start | A konténer kezdetéhez igazítás. |
| flex-end | A konténer végéhez igazítva. |
| space-between | A sorok egyenletes elosztása a konténerben. |
| space-around | A sorok egyenletes elosztása, \\ a részek mindkét végén van hely kihagyva. |
.burkolo {
display: flex;
flex-wrap: wrap;
align-content: stretch;
border: 1px solid navy;
width: 72px;
height: 300px;
}
.burkolo div {
background-color: orange;
padding: 10px;
height: 30px;
}
Nyújtás:
Középre:
Elejére:
Végére:
Egyenletes elosztás:
Egyenletes elosztás, mindkét végén egy rész hellyel kiegészítve:
===== A flex-grow =====
A flex-grow tulajdonsággal megadhatjuk, hogy
egy elem mennyit növekedjen ugyanazon tárolóban
lévő többi rugalmas elemhez képest.
A következő értéket veheti fel:
| szám | Egy szám, amely megmondja \\ az elem mennyi fog nőni \\ a többi rugalmas elemhez képest. \\ Alapértelmezés 0. |
.burkolo {
display: flex;
border: 1px solid navy;
}
.burkolo div {
background-color: orange;
padding: 10px;
border: 3px solid red;
}
.burkolo div.e1 {
flex-grow: 1;
}
.burkolo023 div.e2 {
flex-grow: 2;
}
.burkolo023 div.e3 {
flex-grow: 1;
}