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