CSS Animations
برخلاف Transitions که فقط برای تغییر تدریجی بین دو حالت استفاده میشن، Animations به شما اجازه میدن چندین مرحله حرکت و تغییر ایجاد کنید و اونها رو بارها تکرار کنید.
🔹 سینتکس کلی
برای انیمیشنها باید دوتا چیز تعریف کنیم:
-
keyframes@ → مشخص میکنه در هر مرحله چه اتفاقی بیفته.
-
پراپرتیهای انیمیشن روی المنت → مشخص میکنن که اون keyframes چطور اجرا بشه.
🔹 تعریف Keyframes
یا چند مرحله:
🔹 پراپرتیهای مهم انیمیشن
پراپرتی | توضیح |
---|---|
animation-name | نام keyframes |
animation-duration | مدت زمان اجرا |
animation-timing-function | نوع سرعت (ease, linear, ease-in...) |
animation-delay | تأخیر شروع |
animation-iteration-count | تعداد تکرار (1 , infinite , عدد دلخواه) |
animation-direction | جهت اجرا (normal , reverse , alternate ) |
animation-fill-mode | حالت المنت قبل و بعد انیمیشن (none , forwards , backwards , both ) |
animation-play-state | توقف یا ادامه انیمیشن (running , paused ) |
🔹 مثال ساده (انیمیشن رنگ)
✅ جعبه به صورت بینهایت رنگ عوض میکنه.
🔹 مثال پیشرفته (حرکت توپ)
✅ توپ مثل حالت پرش بالا و پایین میکنه.
🔹 مثال با چند مرحله
با این روش میتونیم مسیرهای پیچیده و تغییر رنگهای مختلف ایجاد کنیم.
⚡️ تفاوت مهم با Transition:
-
Transition → فقط تغییر بین دو حالت (مثلاً عادی و hover)
-
Animation → امکان طراحی چند مرحله، تکرار، کنترل دقیقتر