سیاساس/transition
| overflow | transition | transform |
| سیاساس |
CSS/transition – ایجاد انتقالهای نرم در CSS
[ویرایش]transition در CSS برای ایجاد انیمیشنهای ساده و نرم بین دو وضعیت (مانند هاور یا تغییر کلاس) استفاده میشود. این ویژگی به عناصر HTML اجازه میدهد که بهجای تغییر ناگهانی، بهصورت تدریجی به مقدار جدید برسند.
کاربرد
[ویرایش]از Transition برای زیباتر کردن رابط کاربری استفاده میشود؛ مثلاً:
- تغییر رنگ دکمه هنگام هاور
- باز و بسته شدن منوها
- بزرگ یا کوچک شدن تصاویر
سینتکس
[ویرایش]شکل کلی استفاده از transition:
selector {
transition: property duration timing-function delay;
}
مثال:
button {
background-color: blue;
transition: background-color 0.3s ease-in-out;
}
button:hover {
background-color: red;
}
ویژگیهای مرتبط
[ویرایش]transition از چهار ویژگی جزئی تشکیل شده است:
- transition-property – مشخص میکند کدام ویژگی CSS باید انیمیشن شود (مثلاً color، width، all)
- transition-duration – مدت زمان انتقال (مانند 0.5s یا 200ms)
- transition-timing-function – چگونگی سرعت انتقال (linear، ease، ease-in، ease-out، ease-in-out، steps(n)، cubic-bezier)
- transition-delay – تاخیر قبل از شروع انیمیشن
مثال ساده با همه پارامترها
[ویرایش].box {
width: 100px;
transition: width 0.5s ease-in 0.2s;
}
.box:hover {
width: 200px;
}
مقدار all در transition
[ویرایش]اگر میخواهید چندین ویژگی با هم انیمیشن شوند، میتوانید از all استفاده کنید:
.box {
transition: all 0.3s ease;
}
البته استفاده زیاد از all ممکن است بر کارایی تاثیر منفی بگذارد. بهتر است فقط ویژگیهای مورد نیاز را مشخص کنید.
چند ویژگی بهصورت جدا
[ویرایش]میتوانید چند ویژگی را با ویرگول جدا کنید:
div {
transition: color 0.3s ease, font-size 0.5s linear;
}
استفاده در JavaScript
[ویرایش]با تغییر استایل در جاوااسکریپت هم میتوان transition را فعال کرد:
document.querySelector('.box').style.width = "300px";
اگر در CSS برای آن عنصر transition تعریف شده باشد، این تغییر با انیمیشن اجرا میشود.
نکات مهم
[ویرایش]- برای دیدن اثر transition، عنصر باید حالت اولیه و حالت نهایی داشته باشد.
- با Pseudo-classهایی مانند
:hoverیا:focusسازگار است. - برخی ویژگیها مانند display قابل انیمیشن نیستند.
- در استفاده زیاد روی موبایل یا مرورگرهای ضعیف ممکن است باعث افت عملکرد شود.
سازگاری مرورگر
[ویرایش]ویژگی transition در همه مرورگرهای مدرن (کروم، فایرفاکس، سافاری، اج) پشتیبانی میشود. حتی نسخههای جدید اینترنت اکسپلورر (IE10+) هم آن را پشتیبانی میکنند.
سئو و تجربه کاربری
[ویرایش]در حالی که transition تاثیری مستقیم بر سئو ندارد، اما:
- باعث افزایش تعامل و ماندگاری کاربر در سایت میشود.
- موجب احساس روان بودن در رابط کاربری میشود.
- باعث درک بهتر رفتار عناصر توسط کاربر میشود.
تمرین پیشنهادی
[ویرایش]یک عنصر مربعی با پسزمینهٔ سبز طراحی کنید. وقتی کاربر موس را روی آن ببرد، اندازه، رنگ و گوشههای آن (border-radius) بهآرامی تغییر کند. زمان تغییر ۰٫۵ ثانیه باشد و از تابع ease-in-out استفاده شود.
پیوندهای مفید
[ویرایش]جمعبندی
[ویرایش]transition یکی از سادهترین روشها برای افزودن پویایی و زیبایی به صفحات وب است. با زمان کوتاهی یادگیری، میتوان رابط کاربری را بسیار جذابتر کرد و تجربه کاربر را بهبود داد.