07. MODUL · BOOTSTRAP 5

Animációk és átmenetek.

transition, @keyframes, mikro-interakciók

A MODULRÓL

Mit tanulsz meg?

Két eszköz van: az átmenet (transition) két állapot között simít (pl. rámutatáskor), az animáció (@keyframes + animation) magától, akár végtelenül fut. A Bootstrapben nincs sok beépített animáció – ezeket saját CSS-sel készítjük, a Bootstrap rácsában és komponensein.

  • transition és transform
  • kulcskockás animáció (@keyframes)
  • mikro-interakciók: gomb, mező, töltősáv, ikon
  • összetett effektek és csökkentett mozgás

1. FEJEZET

Átmenetek rámutatásra

A transition: transform 0.3s ease azt mondja: ha a transform értéke megváltozik, 0,3 másodperc alatt, lassuló-gyorsuló ütemben menjen át az új értékre. A változást a :hover állapot okozza. Animálni a transform-ot és az opacity-t érdemes: ezeket a böngésző olcsón, akadozás nélkül rajzolja.

A transition: all kényelmes, de mindent animál, ami változik – akár olyat is, amit nem szeretnél (pl. a szélességet). Jobb név szerint felsorolni a tulajdonságokat.

2. FEJEZET

Kulcskockás animációk

A @keyframes az animáció „forgatókönyve”: százalékban megadott időpontokban (0%, 50%, 100%) milyen értéke legyen egy tulajdonságnak. Az animation tulajdonság rendeli hozzá az elemhez: név, időtartam, ütem, ismétlés (infinite = végtelen).

Ha csak egy egyszerű forgó betöltő kell, a Bootstrapnek van kész komponense: <div class="spinner-border" role="status">. A végtelen animációkat használd takarékosan – a folyamatosan mozgó elem elvonja a figyelmet az olvasásról.

3. FEJEZET

Mikro-interakciók

Apró, gyors visszajelzések: a gomb reagál a rámutatásra, a mező jelzi a fókuszt, a töltősáv a folyamatot, az ikon a kattintást. A lebegő címke most a placeholder=" " (egy szóköz) trükkel működik: a :placeholder-shown csak üres mezőre illeszkedik, így a címke gépeléskor fent marad, és nem takar ki semmit.

4. FEJEZET

Összetett effektek

Képkártya beúszó felirattal, 3D-ben forduló kártya és lépcsőzetesen megjelenő idővonal. Az idővonal elemei egymás után, késleltetéssel (animation-delay) jelennek meg; mobilon (768 px alatt) a vonal balra kerül.

GYAKORLÁS

Gyakorló feladatok

  1. Készíts navigációs menüt, amelynek pontjai alá rámutatáskor balról jobbra kihúzódó vonal kerül (::after + transform: scaleX()).
  2. Készíts két különböző betöltő animációt (pontok, forgó kör).
  3. Készíts értesítést (toast-szerű dobozt), amely jobbról beúszik, 3 másodperc múlva eltűnik.
  4. Kapcsold be a rendszeredben a „mozgás csökkentése” beállítást, és ellenőrizd, hogy az oldalad animációi leállnak-e.

Időzítés: a felületi visszajelzések 150–400 ms között természetesek; a hosszabb animáció lassúnak tűnik. Csak a transform és az opacity animálása sima minden eszközön; a szélesség, magasság, margó animálása újraszámolja az oldal elrendezését. Mindig adj prefers-reduced-motion változatot – egyes látogatóknál a mozgás szédülést okoz.