Összetett elrendezések flex css példákkal. Mi az a Flexbox? Az összes css tulajdonság leírása, alapelvek, előnyök és hátrányok

Összetett elrendezések flex css példákkal.  Mi az a Flexbox?  Az összes css tulajdonság leírása, alapelvek, előnyök és hátrányok
Összetett elrendezések flex css példákkal. Mi az a Flexbox? Az összes css tulajdonság leírása, alapelvek, előnyök és hátrányok

A Flexbox ideális az általánosan használt weboldal-elrendezések készítéséhez, mint például a három oszlopos, úgynevezett "Szent Grál" elrendezés, ahol minden oszlopnak teljes magasságot kell felvennie, függetlenül a tartalomtól. Ugyanakkor be forráskód a fő tartalom a navigáció elé kerül, magán az oldalon pedig a fő tartalom a navigáció után.

Mint ez.

Példa

Egy sapka
Cikk
Pince

A flexbox megjelenése előtt ezt a fajta elrendezést meglehetősen nehéz volt elérni valamilyen hack használata nélkül. A fejlesztőknek gyakran kellett olyan dolgokat tenniük, mint például extra jelölések hozzáadása, negatív margók alkalmazása és egyéb trükkök, hogy minden a tartalom mennyiségétől vagy a képernyő méretétől függetlenül megfelelő legyen. De ahogy a fenti példa is mutatja, a flexboxon minden sokkal egyszerűbb.

Itt található a kód összefoglalása. Ebben a példában a #main elemet rugalmas tárolóvá tesszük, miközben a fejlécet és a láblécet blokkszintű elemként hagyjuk meg. Más szóval, csak a középső rész válik flexboxgá. Itt van egy részlet, amely rugalmas tárolóvá teszi.

#main (kijelző: flex; min-magasság: calc(100vh - 40vh); )

Csak a display: flexet használjuk egy flex tároló készítéséhez. Figyeljük meg, hogy a calc() függvénnyel a min-height értéket is beállítjuk, és a #main értéket a nézetablak magasságának 100%-ára állítjuk. mínusz a sapka és a pince magassága (mindegyik 20 Vh). Ez biztosítja, hogy az elrendezés a képernyő teljes magasságát elfoglalja, még akkor is, ha kevés a tartalom. Ennek eredményeként a lábléc soha nem emelkedik fel és hagy üres helyet alatta, ha a tartalom kevesebbet foglal el, mint a képernyő magassága.

A min-magasság kiszámítása elég egyszerű volt, tekintve, hogy minden elemre box-méretezést alkalmaztunk: border-box. Ha nem, akkor hozzá kell adnunk a kitöltési értéket a kivont összeghez.

A flex konténer beszerelése után flex cikkekkel van dolgunk.

#main > cikk ( flex: 1; ) #main > nav, #main > aside ( flex: 0 0 20vw; background: beige; ) #main > nav ( sorrend: -1; )

A flex tulajdonság a flex-grow, flex-shrink és flex-basis tulajdonságok rövidítése. Az első esetben csak egy értéket írtunk, így a flex beállítja a flex-grow tulajdonságot. A második esetben mindhárom értéket ehhez írtuk