إطار Bootstrap 5

مجموعات القوائم

13 دقيقة الدرس 29 من 40

مجموعات القوائم في Bootstrap 5

مجموعات القوائم هي مكونات مرنة وقوية لعرض سلسلة من المحتوى. تُستخدم بشكل أكثر شيوعًا لعرض قوائم العناصر والتنقل والمحتوى المخصص.

مجموعات القوائم الأساسية

أنشئ مجموعة قائمة أساسية مع عناصر القائمة:

<ul class="list-group"> <li class="list-group-item">عنصر</li> <li class="list-group-item">عنصر ثاني</li> <li class="list-group-item">عنصر ثالث</li> <li class="list-group-item">عنصر رابع</li> <li class="list-group-item">وعنصر خامس</li> </ul>
بنية مجموعة القائمة:
  • .list-group - حاوية عناصر القائمة
  • .list-group-item - عناصر القائمة الفردية
  • يمكن استخدام <ul> مع <li> أو عناصر <div>
  • يتعامل تلقائيًا مع الحدود والمسافات

العناصر النشطة والمعطلة

أشر إلى الحالات النشطة والمعطلة في مجموعات القوائم:

<ul class="list-group"> <li class="list-group-item active" aria-current="true">عنصر نشط</li> <li class="list-group-item">عنصر ثاني</li> <li class="list-group-item">عنصر ثالث</li> <li class="list-group-item disabled" aria-disabled="true">عنصر معطل</li> <li class="list-group-item">وعنصر خامس</li> </ul>

مجموعات القوائم القابلة للتنفيذ

استخدم علامات الربط أو الأزرار لإنشاء عناصر قائمة قابلة للتنفيذ:

<!-- مع روابط --> <div class="list-group"> <a href="#" class="list-group-item list-group-item-action active" aria-current="true"> عنصر الرابط الحالي </a> <a href="#" class="list-group-item list-group-item-action">عنصر رابط ثاني</a> <a href="#" class="list-group-item list-group-item-action">عنصر رابط ثالث</a> <a href="#" class="list-group-item list-group-item-action">عنصر رابط رابع</a> <a class="list-group-item list-group-item-action disabled">عنصر رابط معطل</a> </div> <!-- مع أزرار --> <div class="list-group"> <button type="button" class="list-group-item list-group-item-action active" aria-current="true"> الزر الحالي </button> <button type="button" class="list-group-item list-group-item-action">عنصر زر ثاني</button> <button type="button" class="list-group-item list-group-item-action">عنصر زر ثالث</button> <button type="button" class="list-group-item list-group-item-action" disabled>عنصر زر معطل</button> </div>
نصيحة: استخدم .list-group-item-action لإنشاء حالات تمرير وتركيز ونشطة لعناصر القائمة التفاعلية.

مجموعات القوائم المسطحة

أزل الحدود والزوايا المستديرة لعرض مجموعات القوائم من حافة إلى حافة:

<ul class="list-group list-group-flush"> <li class="list-group-item">عنصر</li> <li class="list-group-item">عنصر ثاني</li> <li class="list-group-item">عنصر ثالث</li> <li class="list-group-item">عنصر رابع</li> <li class="list-group-item">وعنصر خامس</li> </ul>

مجموعات القوائم المرقمة

أضف أرقامًا إلى عناصر مجموعة القائمة تلقائيًا:

<ol class="list-group list-group-numbered"> <li class="list-group-item">عنصر قائمة</li> <li class="list-group-item">عنصر قائمة</li> <li class="list-group-item">عنصر قائمة</li> </ol> <!-- مرقمة مع محتوى مخصص --> <ol class="list-group list-group-numbered"> <li class="list-group-item d-flex justify-content-between align-items-start"> <div class="ms-2 me-auto"> <div class="fw-bold">عنوان فرعي</div> محتوى عنصر القائمة </div> <span class="badge bg-primary rounded-pill">14</span> </li> <li class="list-group-item d-flex justify-content-between align-items-start"> <div class="ms-2 me-auto"> <div class="fw-bold">عنوان فرعي</div> محتوى عنصر القائمة </div> <span class="badge bg-primary rounded-pill">14</span> </li> </ol>

مجموعات القوائم مع الشارات

أضف شارات إلى عناصر مجموعة القائمة للعد أو مؤشرات الحالة:

<ul class="list-group"> <li class="list-group-item d-flex justify-content-between align-items-center"> البريد الوارد <span class="badge bg-primary rounded-pill">14</span> </li> <li class="list-group-item d-flex justify-content-between align-items-center"> المسودات <span class="badge bg-primary rounded-pill">2</span> </li> <li class="list-group-item d-flex justify-content-between align-items-center"> المرسل <span class="badge bg-primary rounded-pill">99+</span> </li> </ul>
محاذاة Flexbox: استخدم .d-flex، .justify-content-between، و.align-items-center لمحاذاة الشارات بشكل صحيح داخل عناصر القائمة.

مجموعات القوائم مع المحتوى المخصص

أضف محتوى HTML تقريبًا أي محتوى HTML داخل عناصر مجموعة القائمة:

<div class="list-group"> <a href="#" class="list-group-item list-group-item-action active" aria-current="true"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">عنوان عنصر مجموعة القائمة</h5> <small>قبل 3 أيام</small> </div> <p class="mb-1">بعض المحتوى النائب في فقرة.</p> <small>وبعض الطباعة الصغيرة.</small> </a> <a href="#" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">عنوان عنصر مجموعة القائمة</h5> <small class="text-muted">قبل 3 أيام</small> </div> <p class="mb-1">بعض المحتوى النائب في فقرة.</p> <small class="text-muted">وبعض الطباعة الصغيرة الصامتة.</small> </a> <a href="#" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">عنوان عنصر مجموعة القائمة</h5> <small class="text-muted">قبل 3 أيام</small> </div> <p class="mb-1">بعض المحتوى النائب في فقرة.</p> <small class="text-muted">وبعض الطباعة الصغيرة الصامتة.</small> </a> </div>

الفئات السياقية

استخدم الفئات السياقية لتصميم عناصر القائمة بألوان خلفية:

<ul class="list-group"> <li class="list-group-item">عنصر مجموعة قائمة افتراضي بسيط</li> <li class="list-group-item list-group-item-primary">عنصر مجموعة قائمة أساسي بسيط</li> <li class="list-group-item list-group-item-secondary">عنصر مجموعة قائمة ثانوي بسيط</li> <li class="list-group-item list-group-item-success">عنصر مجموعة قائمة نجاح بسيط</li> <li class="list-group-item list-group-item-danger">عنصر مجموعة قائمة خطر بسيط</li> <li class="list-group-item list-group-item-warning">عنصر مجموعة قائمة تحذير بسيط</li> <li class="list-group-item list-group-item-info">عنصر مجموعة قائمة معلومات بسيط</li> <li class="list-group-item list-group-item-light">عنصر مجموعة قائمة فاتح بسيط</li> <li class="list-group-item list-group-item-dark">عنصر مجموعة قائمة داكن بسيط</li> </ul>

الفئات السياقية مع الإجراءات

ادمج الفئات السياقية مع عناصر القائمة القابلة للتنفيذ:

<div class="list-group"> <a href="#" class="list-group-item list-group-item-action">عنصر مجموعة قائمة افتراضي بسيط</a> <a href="#" class="list-group-item list-group-item-action list-group-item-primary">عنصر مجموعة قائمة أساسي بسيط</a> <a href="#" class="list-group-item list-group-item-action list-group-item-success">عنصر مجموعة قائمة نجاح بسيط</a> <a href="#" class="list-group-item list-group-item-action list-group-item-danger">عنصر مجموعة قائمة خطر بسيط</a> <a href="#" class="list-group-item list-group-item-action list-group-item-warning">عنصر مجموعة قائمة تحذير بسيط</a> </div>

مجموعات القوائم الأفقية

غير تخطيط مجموعات القوائم من عمودي إلى أفقي:

<!-- أفقي دائمًا --> <ul class="list-group list-group-horizontal"> <li class="list-group-item">عنصر</li> <li class="list-group-item">عنصر ثاني</li> <li class="list-group-item">عنصر ثالث</li> </ul> <!-- أفقي عند نقطة توقف محددة --> <ul class="list-group list-group-horizontal-sm"> <li class="list-group-item">عنصر</li> <li class="list-group-item">عنصر ثاني</li> <li class="list-group-item">عنصر ثالث</li> </ul> <ul class="list-group list-group-horizontal-md"> <li class="list-group-item">عنصر</li> <li class="list-group-item">عنصر ثاني</li> <li class="list-group-item">عنصر ثالث</li> </ul>
نقاط التوقف الأفقية:
  • .list-group-horizontal - أفقي دائمًا
  • .list-group-horizontal-sm - أفقي عند ≥576px
  • .list-group-horizontal-md - أفقي عند ≥768px
  • .list-group-horizontal-lg - أفقي عند ≥992px
  • .list-group-horizontal-xl - أفقي عند ≥1200px

خانات الاختيار وأزرار الاختيار

ضع خانات الاختيار وأزرار الاختيار في Bootstrap داخل عناصر مجموعة القائمة:

<!-- خانات الاختيار --> <ul class="list-group"> <li class="list-group-item"> <input class="form-check-input me-1" type="checkbox" value="" id="firstCheckbox"> <label class="form-check-label" for="firstCheckbox">خانة اختيار أولى</label> </li> <li class="list-group-item"> <input class="form-check-input me-1" type="checkbox" value="" id="secondCheckbox"> <label class="form-check-label" for="secondCheckbox">خانة اختيار ثانية</label> </li> <li class="list-group-item"> <input class="form-check-input me-1" type="checkbox" value="" id="thirdCheckbox"> <label class="form-check-label" for="thirdCheckbox">خانة اختيار ثالثة</label> </li> </ul> <!-- أزرار الاختيار --> <ul class="list-group"> <li class="list-group-item"> <input class="form-check-input me-1" type="radio" name="listGroupRadio" value="" id="firstRadio" checked> <label class="form-check-label" for="firstRadio">زر اختيار أول</label> </li> <li class="list-group-item"> <input class="form-check-input me-1" type="radio" name="listGroupRadio" value="" id="secondRadio"> <label class="form-check-label" for="secondRadio">زر اختيار ثاني</label> </li> <li class="list-group-item"> <input class="form-check-input me-1" type="radio" name="listGroupRadio" value="" id="thirdRadio"> <label class="form-check-label" for="thirdRadio">زر اختيار ثالث</label> </li> </ul>

تمرين عملي

أنشئ واجهة إدارة مهام مع:

  1. مجموعة قائمة مرقمة تظهر 5 مهام مع شارات إكمال
  2. يجب أن يحتوي كل عنصر مهمة على عنوان ووصف وتاريخ
  3. استخدم ألوان سياقية: أخضر للمكتمل، أصفر للجاري
  4. أضف خانات اختيار لتمييز المهام كمكتملة
  5. أنشئ مجموعة قائمة أفقية لفئات المهام
أفضل الممارسات:
  • استخدم <ul> و<li> للقوائم الثابتة
  • استخدم <div> للقوائم التفاعلية مع روابط أو أزرار
  • قم دائمًا بتضمين aria-current="true" للعناصر النشطة
  • استخدم .list-group-flush عند وضع مجموعات القوائم في البطاقات
  • ادمج أدوات flexbox للتخطيطات المعقدة
  • اختبر مجموعات القوائم الأفقية في أحجام الشاشات المختلفة