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 میتوانند خارج از این محدوده باشند تا به اثرهای بیشتر دست پیدا کنید.
در 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، میتوانید آن را در 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.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، ایجاد حرکتهای پرشی است که با تنظیم مقادیر 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.com برای آزمایش و مشاهده تأثیر مقادیر cubic-bezier استفاده کنید تا بتوانید منحنیهای زمانی مناسب را به راحتی بسازید.
آزمایش انیمیشنها با مدتزمانهای مختلف: بعضی از منحنیهای cubic-bezier برای زمانهای کوتاه مناسب هستند، در حالی که برخی دیگر برای انیمیشنهای طولانیتر بهتر عمل میکنند.
در نظر گرفتن تجربه کاربری: استفاده زیاد از منحنیهای پیچیده میتواند تجربه کاربری را تحت تأثیر قرار دهد، بنابراین از منحنیهای زمانی برای بهبود تجربه کاربری استفاده کنید و نه برای گیج کردن کاربر.
شروع با مقادیر استاندارد: ابتدا از مقادیر رایج cubic-bezier استفاده کنید و سپس مقادیر را برای نیازهای خاص خود تنظیم کنید.
cubic-bezier یک ابزار قدرتمند برای ساخت انیمیشنهای سفارشی و خلاقانه در CSS است. با استفاده از این تابع، میتوانید حرکتهای طبیعی و واکنشپذیر ایجاد کنید که به تجربه کاربری بهتری منجر میشود. با تمرین و آزمایش، میتوانید به انیمیشنهایی با جلوههای بصری خاص دست یابید که به طراحیهای وبسایت شما جذابیت و عمق بیشتری میبخشند.
نظری یافت نشد
آموزش جامع توابع بازگشتی (Recursion) و کاربردهای آن در جاوا اسکریپت: مثالها و مفاهیم
29م مهر 1403
مطالعه بیشتر
آموزش ایجاد تگهای صفحهبندی در HTML و CSS: طراحی و استایلدهی pagination
29م مرداد 1402
مطالعه بیشتر
آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایلدهی حرفهای به متنها
5م شهریور 1402
مطالعه بیشتر
آموزش استفاده از جدول در HTML: طراحی و استایلدهی جدولهای ساده و پیشرفته
21م مرداد 1402
مطالعه بیشتر
آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع
6م شهریور 1402
مطالعه بیشتر
آموزش ایجاد، دسترسی و اصلاح آرایهها در جاوا اسکریپت: راهنمای کامل
4م مهر 1403
مطالعه بیشتر
استفاده از clip-path در CSS برای برشهای زیبا و جذاب: راهنمای کامل
16م آبان 1403
مطالعه بیشتر
معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن
28م شهریور 1402
مطالعه بیشتر
آموزش توسعه بازیهای ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام
5م آبان 1403
مطالعه بیشتر
نصب Vue.js و ایجاد پروژه ساده: آموزش گامبهگام راهاندازی Vue
28م شهریور 1402
مطالعه بیشتر
آموزش کار با رویدادهای فرم و اعتبارسنجی فرمها در جاوا اسکریپت: راهنمای جامع
3م آبان 1403
مطالعه بیشتر
چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی
2م شهریور 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد