CSS Flexbox
CSS Flexbox: Rugalmas Elrendezés Egyszerűen
A CSS Flexbox egy hatékony elrendezési modell, amely segít a HTML elemek rugalmas és dinamikus igazításában. Kiválóan alkalmas a modern weboldalak komponenseinek elhelyezésére, különösen akkor, ha a tartalom mérete változó.
1. Flexbox Alapjai
A Flexbox egy olyan elrendezési modell, amely lehetővé teszi az elemek igazítását egy szülő konténeren belül. Két fő eleme van:
Flex konténer: Ez az az elem, amely tartalmazza a rugalmas elemeket.
Flex elemek: A konténerben elhelyezkedő elemek, amelyek igazodnak a megadott szabályok szerint.
Egy elemet flex konténerré alakíthatunk a display: flex; tulajdonság beállításával.
.container {
display: flex;
}2. Főtengely és Melléktengely
A Flexbox egyik legfontosabb koncepciója a tengelyrendszer:
Főtengely (main axis): Az a tengely, amely mentén az elemek alapértelmezés szerint igazodnak.
Melléktengely (cross axis): A főtengelyre merőleges tengely.
Az alapértelmezett irány vízszintes (balról jobbra), de ez módosítható a flex-direction tulajdonsággal.
.container {
display: flex;
flex-direction: row; /* vagy column, row-reverse, column-reverse */
}3. Főbb Flexbox Tulajdonságok
3.1. justify-content
A főtengely mentén történő igazítást szabályozza:
.container {
justify-content: flex-start; /* balra rendezés (alapértelmezett) */
justify-content: flex-end; /* jobbra rendezés */
justify-content: center; /* középre igazítás */
justify-content: space-between; /* egyenlő térköz az elemek között */
justify-content: space-around; /* térköz az elemek körül */
}3.2. align-items
A melléktengely menti igazítást határozza meg:
.container {
align-items: flex-start; /* a konténer tetején */
align-items: flex-end; /* a konténer alján */
align-items: center; /* függőlegesen középen */
align-items: stretch; /* a konténer magasságát kitöltik (ha nincs magasságuk) */
}3.3. flex-wrap
Az alapértelmezett viselkedés szerint az elemek egy sorban maradnak, de ezt módosíthatjuk:
.container {
flex-wrap: nowrap; /* egy sorban tartja az elemeket (alapértelmezett) */
flex-wrap: wrap; /* szükség esetén új sorba tör */
flex-wrap: wrap-reverse; /* fordított sorrendben tör új sorba */
}3.4. align-content
Ha az elemek több sorban helyezkednek el, ez a tulajdonság a sorok közötti igazítást határozza meg.
.container {
align-content: flex-start;
align-content: flex-end;
align-content: center;
align-content: space-between;
align-content: space-around;
align-content: stretch;
}3.5. Egyedi Flex Tulajdonságok az Elemekre
Az egyes flex elemekhez is beállíthatunk egyedi méretezési szabályokat:
flex-grow: Meghatározza, hogy egy elem mennyire nőhet a rendelkezésre álló térben.flex-shrink: Meghatározza, hogy egy elem mennyire zsugorodhat, ha nincs elég hely.flex-basis: Az alapértelmezett méretet adja meg, mielőtt a méretezési szabályok érvénybe lépnek.
.item {
flex-grow: 1; /* Az elem kitölti a rendelkezésre álló helyet */
flex-shrink: 0; /* Az elem nem zsugorodik */
flex-basis: 100px; /* Alapértelmezett szélesség 100px */
}Összegzés
A Flexbox segítségével könnyen létrehozhatunk dinamikus és rugalmas elrendezéseket anélkül, hogy bonyolult lebegtetéseket (float) vagy táblázatokat használnánk. Az alapvető tulajdonságok és az irányok megértésével gyorsan elsajátítható ez a hatékony elrendezési modell.
Ha modern, reszponzív weboldalt szeretnél készíteni, a Flexbox az egyik legjobb választás!
Comments
Post a Comment