آموزش کاروسل در بوت استرپ

در این بخش به بررسی کامپوننت کاروسل در فریم ورک بوت استرپ می‌پردازدیم. کامپوننت Carousel در بوت استرپ برای نمایش مجموعه‌ای چرخشی از تصاویر یا محتوا به صورت اسلایدشو استفاده می‌شود.

مرور کلی

  • این کامپوننت امکانات متنوعی برای شخصی‌سازی ارائه می‌دهد، از جمله نوع انیمیشن انتقال اسلاید، تنظیم بازه زمانی بین اسلایدها، و کنترل‌های ناوبری.
  • کاروسل به کاربران اجازه می‌دهد به‌راحتی میان محتوا جابجا شوند و معمولاً برای نمایش محصولات یا محتوای ویژه در صفحات وب مورد استفاده قرار می‌گیرد.
  • برای دستیابی به عملکرد بهینه، باید کاروسل از طریق متد سازنده (constructor) به صورت دستی مقداردهی اولیه شود. در غیر این صورت، برخی رویدادها (به‌ویژه آن‌هایی که برای پشتیبانی از لمس یا سوایپ لازم‌اند) تا زمانی که کاربر یکی از کنترل‌ها یا نشانگرها را فعال نکند، ثبت نمی‌شوند.
  • اگر کاروسل دارای ویژگی data-bs-ride="carousel" باشد، بوت استرپ آن را به‌طور خودکار هنگام بارگذاری صفحه مقداردهی اولیه می‌کند. در این حالت نیازی به راه‌اندازی دستی نیست.
  • بوت استرپ از استفاده از کاروسل‌های تو در تو (nested carousels) پشتیبانی نمی‌کند. این نوع ساختار معمولاً باعث مشکلاتی در دسترسی‌پذیری و تجربه کاربری می‌شود.
  • افکت انیمیشنی کاروسل بسته به media query با عنوان prefers-reduced-motion فعال یا غیرفعال می‌شود.

در ادامه، یک نمونه ساده از کاروسل را مشاهده می‌کنید:

کاروسل در بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نکات مهمی که باید به خاطر داشته باشید:

  • ابعاد اسلایدها در کامپوننت کاروسل به صورت خودکار یکسان‌سازی نمی‌شوند.

  • برای مشخص کردن اندازه محتوا در کاروسل، باید از ابزارهای کمکی (utilities) یا استایل های سفارشی استفاده کنید.

  • دکمه‌های قبلی/بعدی (previous/next controls) و نشانگرها (indicators) به صورت پیش‌فرض پشتیبانی می‌شوند اما الزامی برای افزودن آن‌ها وجود ندارد. شما می‌توانید بسته به نیاز پروژه، این کنترل‌ها را اضافه کرده و شخصی‌سازی کنید.

  • حتماً یکی از اسلایدها باید دارای کلاس .active باشد، در غیر این صورت، هیچ اسلایدی در کاروسل نمایش داده نمی‌شود.

  • اگر در یک صفحه بیش از یک کاروسل دارید، حتماً برای هر کاروسل شناسه (id) یکتا تعریف کنید تا بتوانید کنترل‌های اختیاری را به درستی به آن متصل کنید.

  • کنترل‌ها و نشانگرها باید دارای ویژگی data-bs-target (یا href در صورت استفاده از لینک) باشند که مقدار آن دقیقاً با id المنت .carousel مطابقت داشته باشد.

نشانگرها (Indicators)

نشانگرها را می‌توان همراه با کنترل‌های قبلی و بعدی به کار برد تا کاربر بتواند مستقیماً به اسلاید مورد نظر خود منتقل شود.

در ادامه، مثالی برای افزودن نشانگرها ارائه شده است:

نشانگر در کاروسل بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

کپشن ها (Captions)

برای هر اسلاید در کاروسل می‌توان کپشن (توضیح یا عنوان) اضافه کرد. کافی است عنصر .carousel-caption را درون هر .carousel-item قرار دهید. برای مدیریت نمایش کپشن، امکان استفاده از کلاس .d-none برای مخفی کردن آن وجود دارد. همچنین با کمک کلاس‌هایی مانند .d-{breakpoint}-block می‌توان کپشن را فقط در اندازه‌های مشخص صفحه (بر اساس breakpoint دلخواه) قابل مشاهده کرد.

این قابلیت یکی از مباحث مهم در آموزش طراحی سایت با بوت استرپ محسوب می‌شود که در پروژه های واقعی کاربرد زیادی دارد.

در ادامه، مثالی برای نحوه افزودن کپشن به اسلایدها ارائه می‌شود:

افزودن کپشن به کاروسل بوت استرپ

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

افکت محو شدن در کاروسل بوت استرپ

برای اینکه انتقال اسلایدها به‌جای حالت جابجایی (slide) به‌صورت محو شدن تدریجی انجام شود، می‌توانید کلاس .carousel-fade را به کامپوننت کاروسل اضافه کنید.

توجه داشته باشید: اگر محتوای کاروسل فقط شامل متن باشد، ممکن است لازم باشد کلاس .bg-body را به اسلایدها اضافه کنید یا با استفاده از CSS سفارشی، پس‌زمینه‌ای مناسب برای اسلایدها تعریف کنید تا افکت محو شدن (crossfade) به درستی اعمال شود.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

کاروسل خودکار در بوت استرپ

  • برای اینکه کاروسل به‌صورت خودکار با بارگذاری صفحه شروع به حرکت کند، کافی است گزینه ride را برابر با "carousel" قرار دهید.
  • هنگامی که نشانگر ماوس روی کاروسل قرار می‌گیرد، حرکت خودکار به‌طور موقت متوقف می‌شود. می‌توانید این رفتار را با استفاده از گزینه pause کنترل کنید.
  • در مرورگرهایی که از Page Visibility API پشتیبانی می‌کنند، کاروسل به‌طور خودکار زمانی که صفحه در حالت غیرفعال یا پنجره مرورگر مینیمایز شده باشد، متوقف می‌شود.

با این حال، برای حفظ دسترس‌پذیری (accessibility)، توصیه می‌شود از کاروسل‌های خودکار خودداری کنید. اگر در صفحه خود چنین قابلیتی دارید، بهتر است دکمه یا کنترل جداگانه‌ای برای متوقف کردن یا متوقف نگه‌داشتن دستی کاروسل در نظر بگیرید تا کاربر بتواند به‌دلخواه آن را کنترل کند.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

زمانی که گزینه ride به جای "carousel" روی مقدار true تنظیم شود، کاروسل به‌صورت خودکار پس از بارگذاری صفحه شروع به حرکت نمی‌کند. در این حالت، چرخش اسلایدها تنها زمانی آغاز می‌شود که کاربر با کاروسل تعامل داشته باشد (مثلاً با کلیک روی دکمه‌ها یا نشانگرها).

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

تعیین بازه زمانی برای هر اسلاید به صورت جداگانه

برای تنظیم مدت زمان نمایش هر اسلاید به‌صورت مجزا، می‌توانید ویژگی data-bs-interval="" را به عنصر .carousel-item اضافه کنید. با این کار، مدت زمانی که کاروسل پیش از حرکت به اسلاید بعدی منتظر می‌ماند برای آن اسلاید خاص تغییر می‌کند.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

اجرای خودکار کاروسل بدون کنترل ها

کاروسل را می‌توان طوری تنظیم کرد که به‌صورت خودکار اجرا شود بدون آنکه دکمه‌های کنترلی مانند قبلی، بعدی یا نشانگرها (indicators) در آن وجود داشته باشند.

غیرفعال کردن جابجایی لمسی

در دستگاه های لمسی، کاربران می توانند با کشیدن صفحه به چپ یا راست بین اسلایدهای کاروسل جابجا شوند. برای غیرفعال کردن این ویژگی، مقدار گزینه touch را برابر false قرار دهید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

نسخه تیره (Dark variant)

توجه: استفاده از نسخه تیره برای کامپوننت ها از نسخه 5.3.0 بوت استرپ منسوخ شده است. به جای افزودن کلاس .carousel-dark، باید ویژگی data-bs-theme="dark" را به عنصر اصلی صفحه، یک عنصر والد یا خود کامپوننت اضافه کنید.

5/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

پکیج آموزش پیشرفته ASP.NET Core + طراحی فروشگاه اینترنتی
  • انتشار: ۸ خرداد ۱۴۰۴

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید