05. MODUL · BOOTSTRAP 5

Utility osztályok.

Térköz, szín, flex, pozíció, szegély, árnyék, méret – egy-egy osztállyal

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-2 mind a négy oldalon 8 px
  • mt-3 csak fent
  • mb-4 csak lent: a sor magasabb lesz tőle
  • ms-auto a maradék hely a bal margóba kerül
  • gap-3 az 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-flex
  • flex-row / flex-column
  • justify-content-*: start, center, end, between, around, evenly
  • align-items-*: stretch, start, center, end, baseline
  • flex-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

  1. 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).
  2. Készíts navigációs sávot d-flex-szel: logó balra, menüpontok jobbra (ms-auto), egyenletes hézaggal (gap-3).
  3. Rejts el egy oldalsávot mobilon (d-none d-lg-block), és mutass helyette egy gombot (d-lg-none).
  4. Írd le, mekkora a teljes helyfoglalása egy p-3 m-2 border doboznak, 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.