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 → امکان طراحی چند مرحله، تکرار، کنترل دقیقتر
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React