درس نهم: انیمیشن‌ها و جادوی حرکت در CSS

درس نهم: انیمیشن‌ها و جادوی حرکت در CSS

در این درس یاد می‌گیریم چطور به عناصر سایت حرکت ببخشیم. انیمیشن‌ها فقط برای زیبایی نیستند، بلکه می‌توانند توجه کاربر را به بخش‌های مهم (مثل دکمه خرید) جلب کنند.

✨ ۱. انتقال‌های نرم (Transitions)

ویژگی transition اجازه می‌دهد تغییرات (مثلاً تغییر رنگ هنگام نگه داشتن موس روی دکمه) به صورت نرم و در یک بازه زمانی مشخص اتفاق بیفتد.

.button {
    background-color: blue;
    transition: background-color 0.5s ease; /* تغییر در نیم ثانیه */
}

.button:hover {
    background-color: red;
}

🎬 ۲. انیمیشن‌ها و Keyframes

برای انیمیشن‌های پیچیده‌تر که خودکار تکرار می‌شوند، از @keyframes استفاده می‌کنیم. در اینجا مراحل حرکت را تعریف می‌کنیم:

/* تعریف حرکت */
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* اعمال به عنصر */
.heart-icon {
    animation: pulse 2s infinite; /* تکرار ابدی */
}

🔄 ۳. تغییر شکل (Transform)

برای چرخاندن، بزرگ‌نمایی یا جابجایی عناصر در فضای دو بعدی یا سه بعدی از transform استفاده می‌کنیم:

  • rotate: چرخاندن (مثلاً rotate(45deg)).
  • scale: تغییر اندازه (مثلاً scale(1.5)).
  • translate: جابجایی در محور X و Y.
🚩 تمرین درس نهم:

یک مربع بسازید و کدی بنویسید که وقتی موس روی آن قرار می‌گیرد (Hover)، با استفاده از transition، به آرامی ۳۶۰ درجه بچرخد.