Keyframes (چندین حالت در یک tween)
در GSAP، وقتی میخواهید یک المان را در طول زمان بین چند حالت مختلف انیمیت کنید، از Keyframes استفاده میکنیم.
Keyframes به شما امکان میدهد چندین موقعیت، رنگ، مقیاس یا ویژگی را در یک Tween مشخص کنید، بدون نیاز به تعریف چندین to()
جداگانه یا Timeline پیچیده.
🟢 ساختار پایه Keyframes
-
هر آبجکت داخل آرایه
keyframes
یک حالت نهایی برای بخشی از Tween است. -
ترتیب اجرا از بالا به پایین است.
🟡 ویژگیهای Keyframes
ویژگی | توضیح |
---|---|
duration | مدت زمان هر مرحله (اختیاری؛ اگر تعریف نشود، کل مدت زمان Tween تقسیم میشود) |
ease | نوع Ease برای هر مرحله (میتوان برای هر مرحله متفاوت تعریف کرد) |
x, y, scale, rotation, opacity, backgroundColor, ... | هر ویژگی CSS یا Attribute قابل انیمیت |
🟠 مثال با Ease متفاوت
-
GSAP به طور خودکار زمانبندی مراحل را مدیریت میکند.
-
هر مرحله میتواند Ease خاص خود داشته باشد.
🟣 Keyframes با Stagger (انیمیشن گروهی)
-
هر المان به ترتیب با اختلاف زمان مشخص انیمیت میشود.
-
مناسب برای چندین کارت یا دکمه که میخواهید انیمیشن هماهنگ داشته باشند.
🟤 Keyframes در Timeline
میتوانید Keyframes را داخل Timeline هم استفاده کنید:
-
راحتی و کنترل کامل روی چند المان و چند مرحله انیمیشن را فراهم میکند.
⚡ نکات حرفهای
-
میتوانید Attribute یا CSS Variable را هم در Keyframes استفاده کنید:
-
برای انیمیشنهای رنگی یا متن هم Keyframes مناسب است.
✅ جمعبندی
ویژگی | توضیح |
---|---|
keyframes | آرایهای از حالتها که Tween باید از ابتدا تا انتها طی کند |
هر آبجکت | حالت نهایی مرحله، با duration و ease دلخواه |
مناسب برای | حرکات چند مرحلهای، رنگها، مقیاسها، گروه المانها |
Keyframes باعث میشود بدون Timeline پیچیده، انیمیشنهای چند مرحلهای و روان بسازید.