إطار Bootstrap 5
البطاقات
البطاقات في Bootstrap 5
البطاقات هي حاويات محتوى مرنة وقابلة للتوسيع في Bootstrap 5. تتضمن خيارات للرؤوس والتذييلات والصور ومجموعة واسعة من المحتوى. تحل البطاقات محل اللوحات والآبار والصور المصغرة في Bootstrap 3.
البنية الأساسية للبطاقة
يتم بناء البطاقة ببنية أساسية تتضمن أقسام الرأس والجسم والتذييل:
<div class="card">
<div class="card-header">
رأس البطاقة
</div>
<div class="card-body">
<h5 class="card-title">عنوان البطاقة</h5>
<p class="card-text">محتوى البطاقة يأتي هنا. تدعم البطاقات مجموعة واسعة من المحتوى، بما في ذلك النصوص والصور والقوائم والروابط والمزيد.</p>
<a href="#" class="btn btn-primary">اعرف المزيد</a>
</div>
<div class="card-footer text-muted">
تذييل البطاقة
</div>
</div>
مكونات البطاقة:
.card-header- قسم الرأس الاختياري.card-body- منطقة المحتوى الرئيسية (مطلوبة).card-footer- قسم التذييل الاختياري.card-title- عنوان البطاقة.card-text- نص الفقرة في البطاقة
البطاقات مع الصور
يمكن أن تتضمن البطاقات صورًا في الأعلى أو الأسفل أو كطبقات:
<!-- صورة في الأعلى -->
<div class="card" style="width: 18rem;">
<img src="image.jpg" class="card-img-top" alt="صورة البطاقة">
<div class="card-body">
<h5 class="card-title">بطاقة بصورة</h5>
<p class="card-text">هذه البطاقة بها صورة في الأعلى.</p>
<a href="#" class="btn btn-primary">عرض التفاصيل</a>
</div>
</div>
<!-- صورة في الأسفل -->
<div class="card" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title">بطاقة بصورة في الأسفل</h5>
<p class="card-text">هذه البطاقة بها صورة في الأسفل.</p>
</div>
<img src="image.jpg" class="card-img-bottom" alt="صورة البطاقة">
</div>
تراكبات صور البطاقة
حول الصورة إلى خلفية بطاقة وقم بتراكب النص:
<div class="card text-white">
<img src="background.jpg" class="card-img" alt="خلفية">
<div class="card-img-overlay">
<h5 class="card-title">بطاقة بتراكب</h5>
<p class="card-text">نص متراكب على خلفية الصورة.</p>
<p class="card-text"><small>آخر تحديث قبل 3 دقائق</small></p>
</div>
</div>
نصيحة: استخدم
.card-img-overlay لوضع المحتوى فوق صورة البطاقة. ادمج مع فئات الأدوات النصية لتحسين القراءة.
مجموعات البطاقات
استخدم مجموعات البطاقات لعرض البطاقات كعنصر واحد متصل بعرض وارتفاع متساويين:
<div class="card-group">
<div class="card">
<img src="image1.jpg" class="card-img-top" alt="صورة 1">
<div class="card-body">
<h5 class="card-title">البطاقة 1</h5>
<p class="card-text">هذه بطاقة أوسع مع نص داعم.</p>
</div>
</div>
<div class="card">
<img src="image2.jpg" class="card-img-top" alt="صورة 2">
<div class="card-body">
<h5 class="card-title">البطاقة 2</h5>
<p class="card-text">هذه البطاقة لديها نص داعم أدناه.</p>
</div>
</div>
<div class="card">
<img src="image3.jpg" class="card-img-top" alt="صورة 3">
<div class="card-body">
<h5 class="card-title">البطاقة 3</h5>
<p class="card-text">هذه بطاقة أوسع مع المزيد من النص.</p>
</div>
</div>
</div>
تخطيطات البطاقات مع الشبكة
استخدم نظام الشبكة في Bootstrap لمزيد من التحكم في تخطيطات البطاقات:
<div class="row row-cols-1 row-cols-md-3 g-4">
<div class="col">
<div class="card h-100">
<img src="image1.jpg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">البطاقة 1</h5>
<p class="card-text">محتوى البطاقة 1.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100">
<img src="image2.jpg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">البطاقة 2</h5>
<p class="card-text">محتوى البطاقة 2.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100">
<img src="image3.jpg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">البطاقة 3</h5>
<p class="card-text">محتوى البطاقة 3.</p>
</div>
</div>
</div>
</div>
فوائد تخطيط الشبكة:
.row-cols-*- التحكم في الأعمدة في كل صف.h-100- بطاقات بارتفاع متساوي.g-*- التحكم في مسافات الحواف- التحكم في الأعمدة المستجيبة مع نقاط التوقف
تخصيص البطاقات
يمكن تخصيص البطاقات باستخدام أدوات خلفية وحدود مختلفة:
<!-- بطاقات ملونة -->
<div class="card text-white bg-primary mb-3" style="max-width: 18rem;">
<div class="card-header">بطاقة أساسية</div>
<div class="card-body">
<h5 class="card-title">خلفية أساسية</h5>
<p class="card-text">بطاقة بلون خلفية أساسي.</p>
</div>
</div>
<div class="card text-white bg-success mb-3" style="max-width: 18rem;">
<div class="card-header">بطاقة نجاح</div>
<div class="card-body">
<h5 class="card-title">خلفية نجاح</h5>
<p class="card-text">بطاقة بلون خلفية نجاح.</p>
</div>
</div>
<!-- بطاقات الحدود -->
<div class="card border-primary mb-3" style="max-width: 18rem;">
<div class="card-header">حدود أساسية</div>
<div class="card-body text-primary">
<h5 class="card-title">بطاقة حدود أساسية</h5>
<p class="card-text">بطاقة بلون حدود فقط.</p>
</div>
</div>
البطاقات الأفقية
أنشئ تخطيطات بطاقات أفقية باستخدام فئات الشبكة:
<div class="card mb-3" style="max-width: 540px;">
<div class="row g-0">
<div class="col-md-4">
<img src="image.jpg" class="img-fluid rounded-start" alt="...">
</div>
<div class="col-md-8">
<div class="card-body">
<h5 class="card-title">بطاقة أفقية</h5>
<p class="card-text">هذا تخطيط بطاقة أفقية.</p>
<p class="card-text"><small class="text-muted">آخر تحديث قبل 3 دقائق</small></p>
</div>
</div>
</div>
</div>
تمرين عملي
أنشئ صفحة عرض منتجات مع:
- شبكة من 4 بطاقات منتجات (2 في كل صف على الأجهزة اللوحية)
- يجب أن تحتوي كل بطاقة على صورة وعنوان ووصف وسعر
- استخدم فئة
.h-100للبطاقات بارتفاع متساوي - أضف زر "اشتر الآن" في كل بطاقة
- أنشئ بطاقة منتج مميزة واحدة مع تراكب الصورة
أفضل الممارسات:
- استخدم
.h-100مع تخطيطات الشبكة للبطاقات بارتفاع متساوي - اجعل محتوى البطاقة موجزًا ومركزًا
- استخدم عروض بطاقات متسقة داخل المجموعات
- فكر في ظلال البطاقات للعمق:
.shadow-sm - اختبر السلوك المستجيب على أحجام الشاشات المختلفة