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

در این فصل از آموزش بوت استرپ به قابلیت کاربردی «باز و بسته شدن (Collapse)» می‌پردازیم؛ قابلیتی که امکان نمایش یا مخفی کردن بخش‌هایی از محتوا را به صورت کاملاً پویا و قابل کنترل فراهم می‌کند. این قابلیت با استفاده از افزونه جاوا اسکریپت بوت استرپ و چند کلاس خاص فراهم می‌شود.

عملکرد Collapse در بوت استرپ

افزونه جاوا اسکریپت مربوط به Collapse برای نمایش یا پنهان کردن اطلاعات به کار می‌رود. در این حالت، دکمه‌ها یا لینک‌ها به‌عنوان محرک (Trigger) عمل می‌کنند و با اتصال به یک عنصر خاص، وضعیت نمایش آن را تغییر می‌دهند.

زمانی که یک عنصر بسته (Collapse) می‌شود، ارتفاع آن از مقدار فعلی به صفر انیمیت می‌شود. اما به دلیل نحوه عملکرد CSS در انیمیشن‌ها، نمی‌توان روی عنصری که کلاس .collapse دارد، padding (فاصله داخلی) اعمال کرد.

مثال ساده از عملکرد Collapse

در مثال زیر، یک دکمه وجود دارد که با کلیک روی آن، محتوای مشخصی نمایش داده یا پنهان می‌شود. این تغییر با استفاده از کلاس‌ها صورت می‌گیرد:

  • کلاس .collapse برای مخفی کردن محتوا به کار می‌رود.

  • کلاس .collapsing در زمان انجام انیمیشن انتقال مورد استفاده قرار می‌گیرد.

  • کلاس ترکیبی .collapse.show برای نمایش محتوا به کار می‌رود.

استفاده از دکمه یا لینک

برای فعال‌سازی این ویژگی، معمولاً از یک دکمه با ویژگی data-bs-target استفاده می‌شود که هدف آن مشخص می‌کند کدام عنصر باید باز یا بسته شود. همچنین می‌توان از یک تگ <a> همراه با ویژگی role="button" هم استفاده کرد، اما از نظر ساختار معنایی (semantic)، این روش چندان توصیه نمی‌شود. در هر دو حالت، باید ویژگی data-bs-toggle="collapse" نیز وجود داشته باشد تا این عملکرد فعال شود.

Collapse در بوت استرپ

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

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

حالت افقی Collapse در بوت استرپ

افزونه Collapse در بوت استرپ از باز و بسته شدن افقی نیز پشتیبانی می‌کند. برای دستیابی به این حالت، به جای تغییر ارتفاع، باید عرض (width) عنصر تغییر کند.

برای این کار، مراحل زیر را دنبال کنید:

  1. روی عنصر فرزند مستقیم (محتوای داخلی)، یک عرض مشخص تعیین کنید.

  2. به عنصر اصلی، کلاس .collapse-horizontal را اضافه کنید. این کلاس باعث می‌شود انیمیشن باز و بسته شدن، به صورت افقی (در جهت عرض) انجام شود.

علاوه بر این، می‌توانید برای کنترل بیشتر بر ظاهر و رفتار عنصر، از کلاس‌های کمکی عرض (width utilities) استفاده کنید، یا استایل دلخواه خود را با Sass سفارشی طراحی کنید. حتی استفاده از استایل‌های خطی (inline styles) نیز در صورت نیاز امکان‌پذیر است.

حالت افقی Collapse در بوت استرپ

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

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

چندین دکمه و تارگت

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

برای درک بهتر این قابلیت، به نکات زیر توجه کنید:

  • اگر در ویژگی data-bs-target دکمه یا لینک، یک کلاس مشترک برای چند عنصر مشخص شود، کلیک روی آن دکمه می‌تواند همزمان چندین عنصر را باز یا بسته کند.

  • همچنین، می‌توان چند دکمه یا لینک داشت که همگی به یک عنصر مشخص ارجاع می‌دهند (از طریق ویژگی data-bs-target یا href). در این حالت، هر کدام از این دکمه‌ها قادر خواهند بود همان عنصر را نمایش یا مخفی کنند.

این ویژگی به شما این امکان را می‌دهد که بدون پیچیدگی زیاد، تعاملات پویا و چندمنظوره‌ای را در رابط کاربری خود پیاده‌سازی کنید.

چندین دکمه و تارگت در Collapse بوت استرپ

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

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

دسترسی پذیری

برای اطمینان از دسترسی‌پذیر بودن عناصر باز و بسته‌شونده در بوت استرپ، باید از ویژگی aria-expanded استفاده کنید. این ویژگی به فناوری‌های کمکی مانند صفحه‌خوان‌ها اطلاع می‌دهد که وضعیت عنصر در حال حاضر باز است یا بسته.

  • اگر عنصر بسته باشد، مقدار aria-expanded="false" باید تنظیم شود.

  • اگر عنصر باز باشد، مقدار aria-expanded="true" استفاده می‌شود.

بوت استرپ با استفاده از افزونه Collapse، مقدار این ویژگی را به‌طور خودکار بر اساس وضعیت باز یا بسته بودن عنصر تغییر می‌دهد.

اگر عنصر کنترل‌کننده (مثلاً یک تگ <a> یا <div>) به‌طور پیش‌فرض دکمه نیست، باید ویژگی role="button" را به آن اضافه کنید تا رفتار دکمه‌ای برای آن تعریف شود و فناوری‌های کمکی آن را به‌درستی شناسایی کنند.

علاوه بر این، صفحه‌خوان‌ها و سایر ابزارهای کمکی مدرن از ویژگی data-bs-target نیز استفاده می‌کنند تا به کاربران کمک کنند سریع‌تر و راحت‌تر به بخش‌های باز و بسته‌شونده صفحه دسترسی پیدا کنند.

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

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

دوره صفر تا صد آموزش بین المللی لینوکس
  • انتشار: ۸ خرداد ۱۴۰۴

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

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

مشاهده همه

نظرات

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