آموزش رایگان CSS

آموزش استفاده از cubic-bezier در CSS برای انیمیشن‌های سفارشی و حرفه‌ای

12م آبان 1403 محراب حسن زاده
آموزش استفاده از cubic-bezier در CSS برای انیمیشن‌های سفارشی و حرفه‌ای

Cubic-bezier یک تابع پیشرفته در CSS است که به شما امکان می‌دهد منحنی‌های زمانی سفارشی برای انیمیشن‌ها ایجاد کنید و حرکت عناصر را به شکلی دقیق‌تر و طبیعی‌تر کنترل کنید. با استفاده از این تابع، می‌توانید انیمیشن‌های پیچیده و جذابی ایجاد کنید که از حالت‌های زمانی استاندارد فراتر بروند. این مقاله به شما کمک می‌کند تا با تابع cubic-bezier، نحوه استفاده و ساخت منحنی‌های زمانی سفارشی در CSS آشنا شوید.

 

مفهوم cubic-bezier و کاربرد آن در CSS

تابع cubic-bezier در CSS به شما امکان می‌دهد که منحنی زمان‌بندی انیمیشن را به صورت سفارشی تنظیم کنید. این تابع با استفاده از چهار مقدار، یک منحنی بسازید که حرکت و سرعت تغییرات انیمیشن را مشخص می‌کند.



.element {
  transition: all 2s cubic-bezier(x1, y1, x2, y2);
}

 

هر یک از این چهار مقدار نشان‌دهنده مختصات دو نقطه کنترلی است که با کمک آن‌ها، منحنی تغییر سرعت انیمیشن ایجاد می‌شود.

  • (x1, y1): مختصات نقطه کنترلی اول که شروع انیمیشن را تنظیم می‌کند.

  • (x2, y2): مختصات نقطه کنترلی دوم که انتهای انیمیشن را تنظیم می‌کند.

مقادیر x باید بین 0 و 1 باشد و مقادیر y می‌توانند خارج از این محدوده باشند تا به اثرهای بیشتر دست پیدا کنید.

 

انیمیشن‌های استاندارد و جایگزینی آن‌ها با cubic-bezier

در CSS، حالت‌های زمانی استانداردی مانند ease، ease-in، ease-out و ease-in-out وجود دارند. شما می‌توانید با cubic-bezier حالت‌های زمانی مشابه یا سفارشی‌تر ایجاد کنید.

مثال حالت‌های استاندارد با cubic-bezier

  • ease: cubic-bezier(0.25, 0.1, 0.25, 1)

  • ease-in: cubic-bezier(0.42, 0, 1, 1)

  • ease-out: cubic-bezier(0, 0, 0.58, 1)

  • ease-in-out: cubic-bezier(0.42, 0, 0.58, 1)

با جایگزینی این منحنی‌ها با مقادیر سفارشی cubic-bezier، می‌توانید به انیمیشن‌هایی دست یابید که دارای حرکات منحصربه‌فردتر و واکنش‌پذیرتری هستند.

 

نحوه استفاده از cubic-bezier در CSS

برای استفاده از cubic-bezier، می‌توانید آن را در transition یا animation به عنوان تابع زمان‌بندی اعمال کنید.

مثال ساده از cubic-bezier برای یک transition



.box {
  width: 100px;
  height: 100px;
  background-color: blue;
  transition: transform 1s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.box:hover {
  transform: scale(1.5);
}

 

در اینجا:

  • cubic-bezier(0.68, -0.55, 0.27, 1.55) انیمیشن را به گونه‌ای تنظیم کرده که ابتدا سرعت بالایی داشته باشد و سپس با نرمی به پایان برسد.

مثال استفاده از cubic-bezier در keyframes



@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px);
  }
  100% {
    transform: translateY(0);
  }
}

.ball {
  animation: bounce 2s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite;
}

 

در اینجا:

  • از cubic-bezier برای ایجاد انیمیشنی با جلوه bounce (پریدن) استفاده شده است که حرکت رفت و برگشتی دارد.

 

نحوه انتخاب مقادیر مناسب برای cubic-bezier

برای انتخاب مقادیر مناسب cubic-bezier، می‌توانید از ابزارهایی مانند cubic-bezier.com استفاده کنید. این ابزار به شما امکان می‌دهد تا مقادیر x1، y1، x2، و y2 را تغییر دهید و اثر منحنی را به صورت زنده مشاهده کنید.

مثال از منحنی‌های محبوب با cubic-bezier

  • انیمیشن با شروع سریع و پایان کند: cubic-bezier(0.5, 0, 1, 1)

  • انیمیشن نرمی که سریع شروع و آرام پایان می‌یابد: cubic-bezier(0.6, 0.05, 0.28, 0.91)

  • حرکت شبیه به پرش: cubic-bezier(0.68, -0.55, 0.27, 1.55)

این منحنی‌ها به شما کمک می‌کنند که حرکت‌های جالب و سفارشی ایجاد کنید که به انیمیشن‌های شما عمق و حس طبیعی می‌دهد.

 

کاربردهای رایج cubic-bezier در طراحی وب

ایجاد افکت‌های پرشی (Bounce)

یکی از کاربردهای جذاب cubic-bezier، ایجاد حرکت‌های پرشی است که با تنظیم مقادیر y بزرگ‌تر از 1 می‌توانید به این افکت برسید.



.jump {
  transition: transform 0.5s cubic-bezier(0.5, -0.5, 0.5, 1.5);
}

.jump:hover {
  transform: translateY(-20px);
}

 

در اینجا:

  • cubic-bezier(0.5, -0.5, 0.5, 1.5) باعث می‌شود که عنصر هنگام حرکت رفت و برگشت، به حالت پرشی ظاهر شود.

 

ایجاد حرکت‌های طبیعی برای اسلایدرها



.slider {
  transition: transform 0.7s cubic-bezier(0.5, 0, 0.5, 1);
}

 

در اینجا:

  • cubic-bezier(0.5, 0, 0.5, 1) انیمیشنی طبیعی برای حرکت عناصر اسلایدر ایجاد می‌کند که برای نمایش نرم و آرام اسلاید‌ها مناسب است.

 

ایجاد انیمیشن دکمه با حرکات سریع



.button {
  transition: background-color 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.button:hover {
  background-color: #ff6347;
}

 

در اینجا:

  • cubic-bezier(0.25, 1, 0.5, 1) دکمه را با حرکتی سریع و واکنش‌پذیر تغییر رنگ می‌دهد که به آن حس تعاملی بیشتری می‌بخشد.

 

نکات و بهترین شیوه‌ها برای استفاده از cubic-bezier

  • استفاده از ابزارهای آنلاین: از ابزارهایی مانند cubic-bezier.com برای آزمایش و مشاهده تأثیر مقادیر cubic-bezier استفاده کنید تا بتوانید منحنی‌های زمانی مناسب را به راحتی بسازید.

  • آزمایش انیمیشن‌ها با مدت‌زمان‌های مختلف: بعضی از منحنی‌های cubic-bezier برای زمان‌های کوتاه مناسب هستند، در حالی که برخی دیگر برای انیمیشن‌های طولانی‌تر بهتر عمل می‌کنند.

  • در نظر گرفتن تجربه کاربری: استفاده زیاد از منحنی‌های پیچیده می‌تواند تجربه کاربری را تحت تأثیر قرار دهد، بنابراین از منحنی‌های زمانی برای بهبود تجربه کاربری استفاده کنید و نه برای گیج کردن کاربر.

  • شروع با مقادیر استاندارد: ابتدا از مقادیر رایج cubic-bezier استفاده کنید و سپس مقادیر را برای نیازهای خاص خود تنظیم کنید.

 

نتیجه‌گیری

cubic-bezier یک ابزار قدرتمند برای ساخت انیمیشن‌های سفارشی و خلاقانه در CSS است. با استفاده از این تابع، می‌توانید حرکت‌های طبیعی و واکنش‌پذیر ایجاد کنید که به تجربه کاربری بهتری منجر می‌شود. با تمرین و آزمایش، می‌توانید به انیمیشن‌هایی با جلوه‌های بصری خاص دست یابید که به طراحی‌های وب‌سایت شما جذابیت و عمق بیشتری می‌بخشند.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن
28م شهریور 1402

معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن

مطالعه بیشتر
آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل
4م مهر 1403

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل

مطالعه بیشتر
آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب
29م مرداد 1402

آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب

مطالعه بیشتر
مفاهیم پیشرفته در کلاس‌ها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثال‌ها
29م مهر 1403

مفاهیم پیشرفته در کلاس‌ها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثال‌ها

مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع
2م آبان 1403

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

مطالعه بیشتر
راهنمای جامع قوانین نام‌گذاری متغیرها در PHP بر اساس استاندارد گوگل
24م خرداد 1405

راهنمای جامع قوانین نام‌گذاری متغیرها در PHP بر اساس استاندارد گوگل

مطالعه بیشتر
آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب
11م آبان 1403

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

مطالعه بیشتر
استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل
16م آبان 1403

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل

مطالعه بیشتر
آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام
1م آبان 1403

آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403

آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی

مطالعه بیشتر
آموزش ایجاد Transitions و انیمیشن‌های صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب
16م آبان 1403

آموزش ایجاد Transitions و انیمیشن‌های صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب

مطالعه بیشتر
درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی
28م آذر 1404

درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد