CSS Transform و Transition دو ویژگی مهم CSS هستند که به شما امکان میدهند تا افکتهای تعاملی و پویا برای عناصر وبسایت خود ایجاد کنید. Transform برای تغییر شکل، اندازه و موقعیت عناصر کاربرد دارد، در حالی که Transition به شما امکان میدهد که این تغییرات به صورت نرم و روان انجام شوند. در این مقاله، نحوه استفاده از Transform و Transition در CSS و چگونگی ایجاد تغییرات ظاهری پویا را بررسی میکنیم.
ویژگی Transform برای انجام تغییرات گرافیکی مانند چرخش، تغییر اندازه، جابجایی و کج کردن عناصر به کار میرود. این ویژگی بدون تغییر در ساختار HTML، ظاهر عنصر را به صورت ظاهری تغییر میدهد و باعث افزایش جذابیت بصری میشود.
انواع Transform در CSS
translate(): جابجایی عنصر در محور x و y.
rotate(): چرخش عنصر حول نقطه مرکزی.
scale(): تغییر اندازه عنصر.
skew(): کج کردن عنصر در محور x و y.
translate(x, y) عنصر را در راستای محور x و y جابجا میکند. این ویژگی برای حرکت دادن عناصر به صورت افقی و عمودی استفاده میشود.
مثال استفاده از translate()
.box {
width: 100px;
height: 100px;
background-color: #3498db;
transform: translate(50px, 20px);
}
در اینجا:
عنصر .box به میزان 50 پیکسل به سمت راست و 20 پیکسل به سمت پایین جابجا میشود.
ویژگی rotate() عنصر را به زاویه مشخصی حول نقطه مرکزی میچرخاند. مقدار زاویه میتواند مثبت (چرخش در جهت عقربههای ساعت) یا منفی (چرخش در خلاف جهت عقربههای ساعت) باشد.
مثال استفاده از rotate()
.box {
width: 100px;
height: 100px;
background-color: #3498db;
transform: rotate(45deg);
}
در اینجا:
عنصر .box به اندازه 45 درجه در جهت عقربههای ساعت چرخانده میشود.
ویژگی scale() اندازه عنصر را در محورهای x و y تغییر میدهد. مقدار 1 به معنی اندازه اصلی، و مقادیر بزرگتر از 1 بزرگنمایی و مقادیر کوچکتر از 1 کوچکنمایی را ایجاد میکنند.
مثال استفاده از scale()
.box {
width: 100px;
height: 100px;
background-color: #3498db;
transform: scale(1.5);
}
در اینجا:
عنصر .box به اندازه 1.5 برابر بزرگتر میشود.
ویژگی skew(x, y) برای کج کردن عنصر در محورهای x و y استفاده میشود. این ویژگی با تغییر زاویه عنصر در این محورها، ظاهر خاصی ایجاد میکند.
مثال استفاده از skew()
.box {
width: 100px;
height: 100px;
background-color: #3498db;
transform: skew(20deg, 10deg);
}
در اینجا:
عنصر .box به میزان 20 درجه در محور x و 10 درجه در محور y کج میشود.
میتوانید چندین Transform را به صورت همزمان روی یک عنصر اعمال کنید. این کار باعث میشود تا افکتهای پیچیدهتر و جذابتری ایجاد کنید.
مثال ترکیب Transformها
.box {
width: 100px;
height: 100px;
background-color: #3498db;
transform: translate(30px, 20px) rotate(45deg) scale(1.2);
}
در اینجا:
عنصر .box جابجا شده، چرخیده و بزرگنمایی میشود و ترکیبی از سه Transform روی آن اعمال شده است.
Transition در CSS به شما اجازه میدهد که تغییرات در ویژگیهای CSS به صورت نرم و روان انجام شوند. برای تعریف Transition، از ویژگیهای زیر استفاده میکنیم:
transition-property: ویژگیای که میخواهید برای آن Transition ایجاد کنید (مانند background-color، width).
transition-duration: مدت زمان اجرای Transition (به ثانیه یا میلیثانیه).
transition-timing-function: نوع حرکت Transition مانند ease، linear، ease-in و ease-out.
transition-delay: تأخیر در شروع Transition.
مثال ساده از Transition
.button {
background-color: #3498db;
color: white;
padding: 10px 20px;
border-radius: 5px;
transition: background-color 0.3s ease;
}
.button:hover {
background-color: #2980b9;
}
در اینجا:
background-color به صورت نرم و با زمان 0.3 ثانیه تغییر میکند.
Transition میتواند برای ایجاد افکتهای تعاملی مانند تغییر اندازه، رنگ، سایه و چرخش عناصر به کار رود. استفاده از Transitionها به وبسایت شما جذابیت و جلوه بصری بیشتری میبخشد.
مثال افکت تعاملی با Transition و Transform
.card {
width: 200px;
height: 300px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
transform: scale(1.05);
box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
}
در اینجا:
کارت با استفاده از scale بزرگتر شده و سایه آن در حالت hover افزایش مییابد.
Timing Functionها نوع حرکت Transition را تعیین میکنند. چند نوع Timing Function رایج عبارتند از:
linear: تغییرات با سرعت ثابت انجام میشوند.
ease: شروع و پایان نرم، با سرعت متغیر در طول Transition.
ease-in: سرعت از حالت کند شروع شده و سپس تند میشود.
ease-out: سرعت از حالت تند شروع شده و سپس کند میشود.
ease-in-out: ترکیبی از ease-in و ease-out.
مثال استفاده از Timing Functionها
.button {
background-color: #3498db;
color: white;
padding: 10px 20px;
transition: background-color 0.3s ease-out;
}
.button:hover {
background-color: #2980b9;
}
در اینجا:
تغییر رنگ با Timing Function ease-out انجام میشود که به آرامی کند میشود.
استفاده از مقادیر مناسب برای Transition Duration: Transitionها را کوتاه و مناسب نگه دارید (حدود 0.2 تا 0.5 ثانیه) تا تجربه کاربری بهتری ایجاد شود.
اجتناب از استفاده بیش از حد از Transformها و Transitionها: استفادهی زیاد از Transformها و Transitionها ممکن است باعث کاهش سرعت بارگذاری صفحه و افزایش بار پردازشی شود.
استفاده از ترکیبها برای ایجاد افکتهای پیچیدهتر: ترکیب Transform و Transition میتواند افکتهای بصری جذابتری ایجاد کند.
آزمایش در دستگاههای مختلف: افکتها را در دستگاههای مختلف بررسی کنید تا مطمئن شوید که به درستی نمایش داده میشوند.
Transform و Transition در CSS ابزارهای قوی و پرکاربردی هستند که به شما امکان میدهند وبسایتهایی با افکتهای تعاملی، نرم و زیبا ایجاد کنید. با استفاده از این ابزارها و رعایت بهترین شیوهها میتوانید طراحیهای پویا و جذابتری ایجاد کرده و تجربه کاربری بهتری برای کاربران فراهم کنید.
نظری یافت نشد
آموزش لیستها در CSS: طراحی و استایلدهی ساده برای لیستهای HTML
10م شهریور 1402
مطالعه بیشتر
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1م آبان 1403
مطالعه بیشتر
آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایلدهی حرفهای به متنها
5م شهریور 1402
مطالعه بیشتر
کنترل زمانبندی و اندازهگیری دقیق انیمیشنها در CSS: آموزش جامع و اصول استاندارد
18م شهریور 1402
مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصلهها و ابعاد عناصر
5م شهریور 1402
مطالعه بیشتر
آموزش اصول طراحی الگوهای برنامهنویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثالها
4م آبان 1403
مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیشفرض - راهنمای جامع
2م آبان 1403
مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
11م آبان 1403
مطالعه بیشتر
استفاده از calc در CSS: محاسبات پویا برای طراحیهای منعطف
12م آبان 1403
مطالعه بیشتر
نصب Vue.js و ایجاد پروژه ساده: آموزش گامبهگام راهاندازی Vue
28م شهریور 1402
مطالعه بیشتر
آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403
مطالعه بیشتر
مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها
4م مهر 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد