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

آموزش ساخت Toggle Switch با CSS: طراحی دکمه‌های تغییر وضعیت جذاب و واکنش‌گرا

1403/08/16 22:20 محراب حسن زاده
آموزش ساخت Toggle Switch با CSS: طراحی دکمه‌های تغییر وضعیت جذاب و واکنش‌گرا

یکی از اجزای رابط کاربری مدرن، Toggle Switch یا کلید تغییر وضعیت است که معمولاً برای روشن و خاموش کردن حالت‌های مختلف در اپلیکیشن‌ها و وب‌سایت‌ها به کار می‌رود. با استفاده از CSS و HTML می‌توانید به سادگی یک Toggle Switch زیبا و کاربردی ایجاد کنید. در این مقاله، نحوه ساخت و طراحی یک Toggle Switch با استفاده از CSS و HTML به صورت گام به گام آموزش داده شده است.

 

ساختار HTML برای Toggle Switch

ابتدا نیاز به یک ساختار ساده HTML داریم که شامل یک checkbox برای کنترل وضعیت و یک label برای استایل‌دهی به آن است. از checkbox استفاده می‌کنیم زیرا به صورت داخلی وضعیت انتخاب شده (چک‌شده) یا نشده را کنترل می‌کند.



< div class="toggle-container" >
  < input type="checkbox" id="toggle" class="toggle-checkbox" >
  < label for="toggle" class="toggle-label" > < / label >
< / div >

 

در اینجا:

  • یک input از نوع checkbox برای کنترل وضعیت ایجاد کرده‌ایم.

  • یک label به عنوان دکمه برای تغییر وضعیت استایل داده‌ایم که در صورت کلیک، وضعیت checkbox تغییر می‌کند.

 

استایل‌دهی اولیه با CSS

در این مرحله، استایل‌های پایه‌ای را به عناصر اضافه می‌کنیم تا ظاهر مناسبی برای Toggle Switch ایجاد شود.



/* مخفی کردن checkbox */
.toggle-checkbox {
  display: none;
}

/* استایل‌دهی به toggle container */
.toggle-container {
  display: inline-block;
  position: relative;
  width: 50px;
  height: 24px;
}

/* استایل‌دهی label برای نمایش toggle switch */
.toggle-label {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ccc;
  border-radius: 24px;
  cursor: pointer;
  transition: background-color 0.3s;
}

 

در اینجا:

  • checkbox را مخفی کرده‌ایم زیرا برای کنترل Toggle Switch از label استفاده می‌کنیم.

  • toggle-container عرض و ارتفاع معین و موقعیت نسبی برای نگه‌داری کلید تعیین شده است.

  • toggle-label به عنوان کلید تغییر وضعیت طراحی شده و با رنگ پس‌زمینه و شعاع حاشیه به شکل دایره‌ای درمی‌آید.

 

ایجاد دکمه دایره‌ای برای حرکت در Toggle Switch

برای ایجاد دکمه داخلی که در داخل toggle حرکت می‌کند، از ::before استفاده می‌کنیم.



.toggle-label::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background-color: white;
  border-radius: 50%;
  transition: transform 0.3s;
}

 

در اینجا:

  • toggle-label::before دکمه داخلی را شبیه‌سازی می‌کند که به شکل یک دایره کوچک است و در موقعیت اولیه خود در سمت چپ toggle قرار می‌گیرد.

  • transform به منظور ایجاد انیمیشن برای حرکت دکمه در هنگام تغییر وضعیت اضافه شده است.

 

استایل‌دهی وضعیت فعال Toggle Switch

در این مرحله، حالت روشن (فعال) را با استفاده از انتخابگر

ایجاد می‌کنیم تا رنگ و موقعیت دکمه داخلی در صورت انتخاب‌شده تغییر کند.



.toggle-checkbox:checked + .toggle-label {
  background-color: #4caf50;
}

.toggle-checkbox:checked + .toggle-label::before {
  transform: translateX(26px);
}

 

در اینجا:

  • background-color رنگ پس‌زمینه toggle-label را هنگام فعال شدن به سبز تغییر می‌دهد.

  • transform: translateX(26px) دکمه داخلی را به سمت راست منتقل می‌کند تا نشان دهد toggle در حالت روشن است.

 

اضافه کردن انیمیشن نرم

برای زیبایی بیشتر، انیمیشن حرکت دکمه را نرم‌تر می‌کنیم تا هنگام تغییر وضعیت، یک جلوه بصری جذاب داشته باشیم.



.toggle-label {
  transition: background-color 0.3s ease;
}

.toggle-label::before {
  transition: transform 0.3s ease;
}

 

در اینجا:

  • از ease در transition استفاده کرده‌ایم تا تغییرات رنگ پس‌زمینه و حرکت دکمه نرم‌تر و روان‌تر انجام شود.

 

کد کامل CSS و HTML



< div class="toggle-container" >
  < input type="checkbox" id="toggle" class="toggle-checkbox" >
  < label for="toggle" class="toggle-label" > < / label >
< / div >

 



/* مخفی کردن checkbox */
.toggle-checkbox {
  display: none;
}

/* استایل‌دهی به toggle container */
.toggle-container {
  display: inline-block;
  position: relative;
  width: 50px;
  height: 24px;
}

/* استایل‌دهی label برای نمایش toggle switch */
.toggle-label {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ccc;
  border-radius: 24px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

/* دکمه داخلی toggle */
.toggle-label::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background-color: white;
  border-radius: 50%;
  transition: transform 0.3s ease;
}

/* استایل‌دهی برای حالت فعال toggle */
.toggle-checkbox:checked + .toggle-label {
  background-color: #4caf50;
}

.toggle-checkbox:checked + .toggle-label::before {
  transform: translateX(26px);
}

 

نکات و بهترین شیوه‌ها برای استفاده از Toggle Switch

  • تجربه کاربری: اندازه و موقعیت toggle را به گونه‌ای طراحی کنید که کاربر به راحتی بتواند از آن استفاده کند. معمولاً width حدود 50px و height حدود 24px اندازه مناسبی است.

  • نمایش وضعیت فعلی: از رنگ‌های متمایز (مانند سبز برای روشن و خاکستری برای خاموش) برای نمایش وضعیت toggle استفاده کنید تا کاربران بتوانند وضعیت فعلی را به راحتی تشخیص دهند.

  • سازگاری با مرورگرهای مختلف: مطمئن شوید که toggle شما در مرورگرهای مختلف به درستی نمایش داده می‌شود و عملکرد مشابهی دارد.

  • استفاده از transition: انیمیشن‌های نرم و سریع باعث می‌شود که تجربه کاربری بهتری برای کاربران ایجاد شود.

 

نتیجه‌گیری

با استفاده از CSS و HTML، به سادگی می‌توانید یک Toggle Switch زیبا و کاربردی ایجاد کنید. با ترکیب انتخابگرهای CSS و انیمیشن‌ها، می‌توانید تجربه‌ای جذاب برای کاربران فراهم کنید و رابط کاربری خود را حرفه‌ای‌تر کنید. طراحی Toggle Switch می‌تواند در بهبود تعاملات کاربر نقش مهمی داشته باشد و تجربه‌ای لذت‌بخش از وب‌سایت یا اپلیکیشن شما ایجاد کند.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش جامع تعریف تابع سفارشی در PHP طبق استاندارد گوگل و PSR
1405/04/16 01:07

آموزش جامع تعریف تابع سفارشی در PHP طبق استاندارد گوگل و PSR

مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر
1402/06/05 23:30

آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر

مطالعه بیشتر
آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child
1402/06/10 18:22

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

مطالعه بیشتر
آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب
1403/08/12 20:18

آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب

مطالعه بیشتر
آموزش جامع پیاده‌سازی سطح دسترسی کاربران (ACL) در PHP
1405/05/14 22:17

آموزش جامع پیاده‌سازی سطح دسترسی کاربران (ACL) در PHP

مطالعه بیشتر
آموزش جامع و کاربردی کار با فایل‌ها در PHP
1405/05/04 23:14

آموزش جامع و کاربردی کار با فایل‌ها در PHP

مطالعه بیشتر
آموزش کامل متغیرهای $_GET، $_POST و $_REQUEST در PHP به زبان ساده
1405/05/01 20:01

آموزش کامل متغیرهای $_GET، $_POST و $_REQUEST در PHP به زبان ساده

مطالعه بیشتر
آموزش کامل include و require در PHP + تفاوت‌های کلیدی و کاربردی
1405/05/01 20:28

آموزش کامل include و require در PHP + تفاوت‌های کلیدی و کاربردی

مطالعه بیشتر
مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1402/06/28 00:07

مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان

مطالعه بیشتر
تفاوت متد GET و POST در PHP؛ راهنمای جامع و استاندارد گوگل
1405/04/27 22:13

تفاوت متد GET و POST در PHP؛ راهنمای جامع و استاندارد گوگل

مطالعه بیشتر
آموزش کامل Super Global ها در PHP (متغیرهای سراسری)
1405/04/27 22:29

آموزش کامل Super Global ها در PHP (متغیرهای سراسری)

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

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

مطالعه بیشتر

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