انتقل إلى محتوى الدرس
الدرس 40
دورة بوتستراب 5

القوائم المطوية Accordion في بوتستراب 5Bootstrap 5 Accordion

ابنِ قوائم الأسئلة الشائعة ولوحات التصفية بمكوّن الأكورديون الأصيل في بوتستراب 5، وأتقن هيكله القياسي والفتح الحصري بسمة data-bs-parent ونمط البقاء مفتوحاً والأكورديون المدمج وإتاحة العربية.
أقسام الدرس
6
الأمثلة
4
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
1
محتوى الدرس
في هذا الدرس 6تصفّح المواضيع

في الإصدار الرابع القديم كان المطورون يضطرون إلى تركيب القوائم المطوية يدوياً بتكديس عناصر .card وروابط مبعثرة بلا أسهم اتجاه مدمجة. أما في Bootstrap 5 فقد أصبح .accordion مكوّناً أصيلاً مستقلاً بذاته يبني فوق محرك Collapse مع تصميم عصري موحد، وحلقات تركيز واضحة، وأيقونة سهم متجهية SVG تدور بسلاسة بمقدار 180 درجة فور فتح القسم.

يُعدّ الأكورديون الخيار القياسي لعرض صفحات الأسئلة الشائعة، وتفاصيل فصول الدورات التعليمية، وأقسام إعدادات الحساب على شاشات الهواتف دون إطالة التمرير العمودي.

مخطط التشريح الهيكلي لمكوّن accordion الأصيل في بوتستراب 5 من الحاوية الأب حتى جسم الإجابة

يتكوّن كل قسم داخل الحاوية .accordion من عنصر .accordion-item يضم شقيقين أساسيين: عنوان دلالي <h2 class="accordion-header"> بداخله زر .accordion-button، وتحته حاوية الانطواء .accordion-collapse.collapse التي تغلف المحتوى الداخلي .accordion-body.

انتبه لقاعدة ذهبية يغفل عنها الكثيرون: أي زر لقسم مغلق افتراضياً (أي لا تحمل لوحته كلاس .show) يجب أن يحمل الكلاس .collapsed مع aria-expanded="false" حتى يظهر لونه الهادئ ويشير سهمه للأسفل منذ اللحظة الأولى.

HTML
<div class="accordion" id="faqAcc">
  <div class="accordion-item">
    <h2 class="accordion-header">
      <button class="accordion-button" type="button"
        data-bs-toggle="collapse" data-bs-target="#q1">
        1. Billing Cycle</button>
    </h2>
    <div id="q1" class="accordion-collapse collapse show"
      data-bs-parent="#faqAcc">
      <div class="accordion-body">Monthly renewal.</div>
    </div></div></div>

السمة المسؤولة عن السلوك الكلاسيكي للأكورديون — حيث يؤدي فتح سؤال جديد إلى طيّ السؤال المفتوح سابقاً في اللحظة نفسها — هي data-bs-parent="#parentId" التي توضع على كل عنصر .accordion-collapse وتشير إلى معرّف الحاوية الأب .accordion.

عند نقر المستخدم على قسم جديد، يبحث محرك بوتستراب داخل الأب المحدد عن أي شقيق يحمل كلاس .show فيستدعي إغلاقه تلقائياً بالتزامن مع فتح القسم المطلوب.

مخطط مقارنة الفتح الحصري بسمة data-bs-parent ونمط البقاء مفتوحاً ونمط accordion-flush المدمج

في كثير من واجهات المتاجر ولوحات التصفية الجانبية يحتاج الزائر إلى فتح قسم «الماركة» وقسم «نطاق السعر» وقسم «التقييم» معاً في وقت واحد دون أن يغلق أحدها الآخر. لتحقيق هذا السلوك، احذف السمة data-bs-parent تماماً من عناصر .accordion-collapse فتصبح كل لوحة مستقلة بذاتها.

HTML
<div class="accordion" id="filterAcc">
  <div class="accordion-item">
    <h2 class="accordion-header">
      <button class="accordion-button" type="button"
        data-bs-toggle="collapse" data-bs-target="#f1">
        Category Filter</button>
    </h2>
    <div id="f1" class="accordion-collapse collapse show">
      <div class="accordion-body">Laptops, Monitors</div>
    </div></div>
</div>

عندما تضع مكوّن .accordion داخل بطاقة .card أو عمود مؤطر، يؤدي اجتماع حدود الأكورديون الخارجية مع حدود البطاقة إلى ازدواج بصري مزعج. يعالج الكلاس .accordion-flush ذلك فوراً بإزالة الحدود الجانبية والزوايا المستديرة الخارجية ليلتصق الأكورديون بحواف حاويته الأم بنظافة تامة.

قارن الأنماط الثلاثة عملياً في المختبر التفاعلي التالي:

HTML
<div class="card">
  <div class="accordion accordion-flush" id="flushAcc">
    <div class="accordion-item">
      <h2 class="accordion-header">
        <button class="accordion-button collapsed"
          type="button" data-bs-toggle="collapse"
          data-bs-target="#m1">Module 1</button></h2>
      <div id="m1" class="accordion-collapse collapse">
        <div class="accordion-body">4 Lessons</div>
      </div></div>
  </div>
</div>

يعتمد زر .accordion-button على خاصية الهامش المنطقي التلقائي لدفع أيقونة السهم إلى نهاية السطر؛ لذلك ما إن تربط ملف bootstrap.rtl.min.css مع dir="rtl" حتى ينتقل نص السؤال إلى اليمين ويستقر السهم تلقائياً في أقصى اليسار دون سطر تنسيق إضافي واحد.

كما يدعم العنصر <button> التنقل عبر مفتاح Tab والفتح بمفتاحي Enter وSpace أصلياً في كافة المتصفحات.

HTML
<div class="accordion" id="rtlFaq">
  <div class="accordion-item">
    <h2 class="accordion-header">
      <button class="accordion-button" type="button"
        data-bs-toggle="collapse" data-bs-target="#rq1">
        Supported Browsers</button></h2>
    <div id="rq1" class="accordion-collapse collapse show"
      data-bs-parent="#rtlFaq">
      <div class="accordion-body">Chrome, Firefox.</div>
    </div></div>
</div>

مرجع كلاسات وسمات مكوّن Accordion

الكلاس / السمةالموضع الصحيحالدور الوظيفي في Bootstrap 5.3
.accordionالحاوية الجذريةتنشئ نطاق متغيرات الأكورديون وتؤطر العناصر المتتالية.
.accordion-flushبجانب .accordionيزيل الحدود الخارجية واستدارة الزوايا للدمج داخل البطاقات.
.accordion-buttonعنصر <button> بالرأسينسق زر الفتح العريض ويضيف سهم الاتجاه الدوّار.
.collapsedعلى زر القسم المغلقيعيد لون الزر واتجاه السهم لوضع الإغلاق الابتدائي.
data-bs-parent="#id"على .accordion-collapseيفعّل الفتح الحصري بإغلاق الأقسام الشقيقة تلقائياً.
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس بناء مكوّن .accordion الأصيل، وتركيب عناصر الرأس والزر المدمج مع كلاس .collapsed، والموازنة بين الفتح الحصري بسمة data-bs-parent ونمط البقاء مفتوحاً، واستخدام .accordion-flush وتكييف السهم مع RTL. الخطوة التالية: انتقل الآن إلى درس القوائم المنسدلة Dropdowns لإتقان قوائم الإجراءات الذكية وتموضعها عبر Popper.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Accordion Component مكوّن الأكورديون
قائمة عمودية متراصة من العناوين التفاعلية واللوحات القابلة للطي مبنية أصلياً في بوتستراب 5 مع أسهم اتجاه دوّارة.
للمراجعة
02 Exclusive Collapse الفتح الحصري للأقسام
ربط اللوحات المطوية بمعرّف الحاوية الأب عبر سمة data-bs-parent بحيث يغلق القسم المفتوح تلقائياً عند فتح قسم آخر.
للمراجعة
03 Flush Accordion الأكورديون المدمج بلا إطار
كلاس تعديلي يزيل الحدود الجانبية والزوايا المستديرة ليتطابق الأكورديون مع حواف البطاقة أو العمود الحاوي له.
للمراجعة
04 Collapsed Button State كلاس حالة الزر المطوي
كلاس يُضاف وجوباً على زر القسم غير المفتوح عند البداية لضبط اتجاه السهم ولون الخلفية الهادئ.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 FAQ FAQ
Frequently Asked Questions
النمط التطبيقي الأشهر لمكوّن الأكورديون لعرض الأسئلة وإجاباتها باختصار وتنظيم.
للمراجعة
02 RTL RTL
Right-to-Left
نمط تخطيط الواجهة العربية الذي ينقل سهم الأكورديون تلقائياً إلى أقصى اليسار.
للمراجعة
03 SVG SVG
Scalable Vector Graphics
الصيغة المتجهية التي يرسم بها بوتستراب 5 أيقونة سهم الأكورديون بدقة عالية على كافة الشاشات.
للمراجعة
04 ARIA ARIA
Accessible Rich Internet Applications
سمات الإتاحة القياسية التي تُعلم مستخدمي قارئات الشاشة بأي قسم مفتوح حالياً.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. أنشئ حاوية accordion بالمعرّف accountFaq تضم عنصرين accordion-item يبدأ الأول مفتوحاً بكلاس show والثاني مغلقاً بكلاس collapsed على زره، مع تفعيل الفتح الحصري عبر data-bs-parent="#accountFaq".

  2. ضع مكوّن accordion يحمل كلاس accordion-flush داخل بطاقة card، واحذف سمة data-bs-parent ليتمكن المستخدم من إبقاء عدة أقسام تصفية مفتوحة معاً.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

8أسئلة 2أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي8 أسئلة تنتظرك
01

ما السمة التي تجعل فتح عنصر واحد في الأكورديون يغلق بقية العناصر المفتوحة تلقائياً؟

تربط سمة data-bs-parent على كل لوحة مطوية الأقسام ببعضها داخل الأب لضمان فتح قسم واحد فقط.

02

كيف تسمح للمستخدم بإبقاء عدة أقسام من الأكورديون مفتوحة في الوقت نفسه؟

عند غياب سمة data-bs-parent تعمل كل لوحة بشكل مستقل ولا تغلق شقيقاتها عند النقر.

03

ما الكلاس الذي يزيل الحدود الخارجية والزوايا المستديرة ليندمج الأكورديون بنظافة داخل بطاقة card؟

صُمم كلاس accordion-flush خصيصاً لإلغاء الإطار الخارجي واستدارة الحواف عند التضمين داخل حاوية مؤطرة.

04

ماذا يحدث بصرياً إذا نسيت إضافة كلاس collapsed على زر قسم مغلق عند تحميل الصفحة؟

يفترض تنسيق accordion-button حالة الفتح افتراضياً، وكلاس collapsed هو الذي يمنحه مظهر الإغلاق واتجاه السهم السفلي.

05

يوفّر بوتستراب 5 مكوّن accordion أصيلاً ومستقلاً بدلاً من الاعتماد القديم على ترقيع البطاقات في الإصدار الرابع.

قدّم الإصدار الخامس عائلة كلاسات accordion المخصصة بالكامل مع أيقونات متجهية وحركات مدمجة.

06

عند استخدام ملف bootstrap.rtl.min.css مع dir="rtl" يجب كتابة قواعد تعويم يدوية لنقل سهم الأكورديون إلى اليسار.

يتكفل ملف التنسيق العربي الرسمي بنقل السهم إلى أقصى اليسار تلقائياً دون أي تنسيق يدوي.

07

ما العنصر الدلالي الذي يغلف زر accordion-button مباشرة داخل كل عنصر أكورديون؟

تغليف الزر داخل عنوان يحمل كلاس accordion-header يمنح قارئات الشاشة فهرسة دلالية سليمة لعناوين الأقسام.

08

اعتماد رأس الأكورديون على وسم <button> الأصلي يتيح التنقل إليه بمفتاح Tab وفتحه بمفتاحي Enter أو Space تلقائياً.

توفّر عناصر الأزرار القياسية في HTML دعماً فطرياً كاملاً للوحة المفاتيح دون برمجة إضافية.