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éstransform- 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
- 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()). - Készíts két különböző betöltő animációt (pontok, forgó kör).
- Készíts értesítést (toast-szerű dobozt), amely jobbról beúszik, 3 másodperc múlva eltűnik.
- 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.