A MODULRÓL
Mit tanulsz meg?
A utility (segéd-) osztály egyetlen CSS-tulajdonságot állít be: a mt-3 csak a felső margót, a text-center csak a szöveg igazítását. Ezekből rakható össze a legtöbb elrendezés saját CSS nélkül.
- a térköz-osztályok elnevezése és mérete
- szöveg- és háttérszínek
- flex-elrendezés osztályokkal
- pozíció, megjelenítés, szegély, árnyék, méret
1. FEJEZET
Térköz: margó (m) és belső margó (p)
A térköz-osztály neve három részből áll: mit – melyik oldalon – mennyit.
| Mit? | Melyik oldalon? | Mennyit? |
|---|---|---|
m = margin (kívül)p = padding (belül) |
t fent, b lent, s kezdő (balra), e záró (jobbra), x vízszintesen, y függőlegesen, semmi = mind a négy |
0 = 0, 1 = 4 px, 2 = 8 px, 3 = 16 px, 4 = 24 px, 5 = 48 px, auto (csak margónál) |
Példák: mt-3 = felső margó 16 px; px-4 = bal és jobb belső margó 24 px; mb-0 = nincs alsó margó. A margó átlátszó, ezért a lenti ablakban a Térközök mutatása kapcsoló színezi ki: narancs a margó, zöld a belső margó, a számok pixelben.
Figyeld meg: a margó a doboz körül foglal helyet (eltolja az előző és következő elemet, és a szaggatott szülő szélét), a belső margó a doboz belsejében – a kék háttér ide is kiterjed. A mx-auto egy megadott szélességű blokkot vízszintesen középre tesz, az ms-auto jobbra tolja (a bal margó elnyeli a maradék helyet).
m-2mind a négy oldalon 8 pxmt-3csak fentmb-4csak lent: a sor magasabb lesz tőlems-autoa maradék hely a bal margóba kerülgap-3az elemek közti hézag (nem margó!)
A gap-* osztály nem margó: flex és grid konténerben az elemek közé tesz hézagot, a szélekre nem. Ezért a második sorban nincs narancs csík a dobozok között – ott a konténer hézaga van.
2. FEJEZET
Szöveg- és háttérszínek
A text-* a szöveg, a bg-* a háttér színét adja a nyolc színszerep valamelyikével. A text-bg-* egyszerre állítja a hátteret és hozzá az olvasható szövegszínt, a bg-*-subtle halvány hátteret ad (hozzá illő szöveg: text-*-emphasis).
A régi változat a modul CSS-ében átírta a .bg-primary osztályt egy kék–türkiz színátmenetre, ezért minden „bg-primary” példa hamis színt mutatott. Bootstrap-osztályt ne írj felül – ha színátmenetes hátteret szeretnél, készíts saját osztályt (pl. .hatter-atmenet).
3. FEJEZET
Flex-elrendezés osztályokkal
A d-flex flex konténerré teszi az elemet; a gyerekek alapból egy sorba kerülnek (flex-row), a flex-column egymás alá rendezi őket. A justify-content-* a fő tengelyen (sorban: vízszintesen), az align-items-* a kereszttengelyen (sorban: függőlegesen) igazít. A flexbox működését részletesen a CSS műhely 8. témája mutatja be.
d-flexflex-row/flex-columnjustify-content-*: start, center, end, between, around, evenlyalign-items-*: stretch, start, center, end, baselineflex-wrap,gap-*
4. FEJEZET
Pozíció
A position-relative szülőn belül a position-absolute elemeket a top-0/top-50/top-100, bottom-*, start-* (bal) és end-* (jobb) osztállyal helyezzük el; a translate-middle az elemet a saját méretének felével visszahúzza, így pontosan középre kerül. Az start/end elnevezés azért nem left/right, mert jobbról balra író nyelvekben megfordul.
5. FEJEZET
Megjelenítés: d-*
A d-none, d-inline, d-block, d-flex a display tulajdonságot állítja. Töréspontos változatuk (d-md-block) csak az adott szélességtől hat – így lehet egy elemet kis képernyőn elrejteni. A példa mobilnézetben indul: a kék sáv itt nem látszik; váltsd át Tabletre!
6. FEJEZET
Szegély, lekerekítés, árnyék
A border mind a négy oldalra tesz szegélyt, a border-top … border-start csak egy oldalra; a színt a border-primary stb. adja. A rounded, rounded-3, rounded-pill, rounded-circle a sarkokat kerekíti, a shadow-sm, shadow, shadow-lg árnyékot ad.
7. FEJEZET
Szövegformázás
A text-uppercase csak a megjelenést változtatja: a HTML-ben a szöveg ugyanaz marad, a képernyőolvasó és a keresés is az eredetit látja.
8. FEJEZET
Méret és képarány
A w-25, w-50, w-75, w-100 a szülő szélességének 25–100%-át adja (a h-* ugyanez magasságra, ha a szülőnek van magassága). A ratio ratio-16x9 doboz a szélességéből számolja a magasságát – videók és térképek beágyazásához ideális.
GYAKORLÁS
Gyakorló feladatok
- Készíts kártyát csak utility osztályokkal (saját CSS nélkül):
bg-white border rounded-3 shadow-sm p-4, benne cím, szöveg, jobbra igazított gomb (d-flex justify-content-end). - Készíts navigációs sávot
d-flex-szel: logó balra, menüpontok jobbra (ms-auto), egyenletes hézaggal (gap-3). - Rejts el egy oldalsávot mobilon (
d-none d-lg-block), és mutass helyette egy gombot (d-lg-none). - Írd le, mekkora a teljes helyfoglalása egy
p-3 m-2 borderdoboznak, ha a tartalma 100 px széles (100 + 2·16 + 2·1 + 2·8 = 150 px).
A utility osztályok kombinálhatók, de ha egy elemen már 8–10 van, érdemes saját osztályt készíteni. Ne keverd őket felülírással: a Bootstrap a utility osztályokat !important-tal adja, hogy biztosan érvényesüljenek.