إطار Bootstrap 5

مكونات تخطيط Bootstrap

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

مكونات تخطيط Bootstrap

بالإضافة إلى نظام الشبكة، يوفر Bootstrap مكونات تخطيط قوية تساعد في هيكلة صفحات كاملة. دعنا نستكشف الحاويات، ونقاط التوقف في الممارسة، وطبقات z-index، وأفضل ممارسات التخطيط.

1. أنواع الحاويات

الحاويات هي أساس تخطيطات Bootstrap. اختر الحاوية المناسبة لاحتياجاتك:

<!-- حاوية ذات عرض ثابت (نقاط توقف متجاوبة) --> <div class="container"> <!-- يتغير العرض عند نقاط التوقف: sm (540px)، md (720px)، lg (960px)، xl (1140px)، xxl (1320px) --> <p>حاوية متجاوبة ذات عرض ثابت</p> </div> <!-- حاوية بعرض كامل --> <div class="container-fluid"> <!-- دائمًا بعرض 100% في جميع نقاط التوقف --> <p>حاوية سائلة بعرض كامل</p> </div> <!-- حاويات متجاوبة (100% حتى نقطة التوقف) --> <div class="container-sm">بعرض 100% حتى نقطة توقف sm (576px)</div> <div class="container-md">بعرض 100% حتى نقطة توقف md (768px)</div> <div class="container-lg">بعرض 100% حتى نقطة توقف lg (992px)</div> <div class="container-xl">بعرض 100% حتى نقطة توقف xl (1200px)</div> <div class="container-xxl">بعرض 100% حتى نقطة توقف xxl (1400px)</div> <!-- مثال عملي: دمج الحاويات --> <!-- رأس بعرض كامل --> <header class="bg-dark text-white"> <div class="container"> <nav class="navbar"> <span class="navbar-brand">موقعي</span> </nav> </div> </header> <!-- بطل بعرض كامل مع محتوى متوسط --> <section class="bg-primary text-white py-5"> <div class="container"> <h1 class="display-3">مرحبًا</h1> <p class="lead">محتوى قسم البطل</p> </div> </section> <!-- منطقة المحتوى القياسية --> <main class="container my-5"> <div class="row"> <div class="col-lg-8"> <article>المحتوى الرئيسي</article> </div> <div class="col-lg-4"> <aside>الشريط الجانبي</aside> </div> </div> </main> <!-- تذييل بعرض كامل --> <footer class="bg-dark text-white py-4"> <div class="container"> <p class="mb-0">© 2024 موقعي</p> </div> </footer>
العروض القصوى للحاويات:
  • sm (≥576px): 540px
  • md (≥768px): 720px
  • lg (≥992px): 960px
  • xl (≥1200px): 1140px
  • xxl (≥1400px): 1320px

2. الأعمدة والتخطيط التلقائي

أتقن تقنيات الأعمدة المتقدمة للتخطيطات المرنة:

<!-- أعمدة ذات عرض تلقائي --> <div class="row"> <div class="col"> عمود بعرض متساوٍ (يشارك المساحة المتاحة) </div> <div class="col"> عمود بعرض متساوٍ (يشارك المساحة المتاحة) </div> <div class="col"> عمود بعرض متساوٍ (يشارك المساحة المتاحة) </div> </div> <!-- مختلط: عرض محدد + عرض تلقائي --> <div class="row"> <div class="col-6"> عرض ثابت 50% </div> <div class="col"> عرض تلقائي (يملأ ال 50% المتبقية) </div> </div> <!-- عرض بناءً على المحتوى --> <div class="row"> <div class="col-auto"> العرض بناءً على المحتوى (لا ينمو) </div> <div class="col"> يأخذ المساحة المتبقية </div> </div> <!-- عملي: تخطيط نموذج --> <form> <div class="row g-3"> <div class="col-md-6"> <label for="firstName" class="form-label">الاسم الأول</label> <input type="text" class="form-control" id="firstName"> </div> <div class="col-md-6"> <label for="lastName" class="form-label">الاسم الأخير</label> <input type="text" class="form-control" id="lastName"> </div> <div class="col-12"> <label for="email" class="form-label">البريد الإلكتروني</label> <input type="email" class="form-control" id="email"> </div> <div class="col-md-8"> <label for="address" class="form-label">العنوان</label> <input type="text" class="form-control" id="address"> </div> <div class="col-md-4"> <label for="zip" class="form-label">الرمز البريدي</label> <input type="text" class="form-control" id="zip"> </div> <div class="col-12"> <button type="submit" class="btn btn-primary">إرسال</button> </div> </div> </form>
نصائح عرض الأعمدة:
  • استخدم col عندما تريد أعمدة بعرض متساوٍ
  • استخدم col-auto عندما يجب أن يحدد المحتوى العرض
  • استخدم col-{number} عندما تحتاج إلى عروض محددة
  • امزجها معًا للحصول على تخطيطات مرنة وقابلة للصيانة

3. نقاط التوقف المتجاوبة في الممارسة

أمثلة من العالم الحقيقي لاستخدام نقاط التوقف:

<!-- مثال 1: صفحة منتج التجارة الإلكترونية --> <div class="container"> <div class="row g-4"> <!-- صور المنتج: عرض كامل على الهاتف، 60% على سطح المكتب --> <div class="col-12 col-lg-7"> <img src="product.jpg" class="img-fluid" alt="المنتج"> <!-- معرض المصغرات --> <div class="row row-cols-4 g-2 mt-2"> <div class="col"><img src="thumb1.jpg" class="img-fluid" alt="مصغرة"></div> <div class="col"><img src="thumb2.jpg" class="img-fluid" alt="مصغرة"></div> <div class="col"><img src="thumb3.jpg" class="img-fluid" alt="مصغرة"></div> <div class="col"><img src="thumb4.jpg" class="img-fluid" alt="مصغرة"></div> </div> </div> <!-- تفاصيل المنتج: عرض كامل على الهاتف، 40% على سطح المكتب --> <div class="col-12 col-lg-5"> <h1 class="h3">اسم المنتج</h1> <p class="text-muted">SKU: 12345</p> <h2 class="h4 text-primary">$99.99</h2> <p>وصف المنتج هنا...</p> <!-- الخيارات --> <div class="mb-3"> <label class="form-label">المقاس</label> <select class="form-select"> <option>صغير</option> <option>متوسط</option> <option>كبير</option> </select> </div> <!-- الأزرار: تكديس على الهاتف، جنبًا إلى جنب على الجهاز اللوحي+ --> <div class="row g-2"> <div class="col-12 col-sm-6"> <button class="btn btn-primary w-100">أضف إلى السلة</button> </div> <div class="col-12 col-sm-6"> <button class="btn btn-outline-secondary w-100">قائمة الرغبات</button> </div> </div> </div> </div> </div>

4. Z-Index وسياق التكديس

تحكم في طبقات العناصر باستخدام أدوات z-index:

<!-- أدوات z-index في Bootstrap --> <div class="position-relative"> <div class="position-absolute top-0 start-0 w-100 h-100 bg-primary opacity-25"> طبقة الخلفية (z-index افتراضي) </div> <div class="position-absolute top-50 start-50 translate-middle z-1"> الطبقة الوسطى (z-index: 1) </div> <div class="position-absolute bottom-0 end-0 z-2"> الطبقة العليا (z-index: 2) </div> <div class="position-absolute top-0 end-0 z-3"> الطبقة الأعلى (z-index: 3) </div> </div> <!-- عملي: تراكب مشروط --> <div class="position-fixed top-0 start-0 w-100 h-100 bg-dark bg-opacity-50 z-2"> <!-- خلفية التراكب --> </div> <div class="position-fixed top-50 start-50 translate-middle z-3 bg-white p-4 rounded"> <!-- محتوى مشروط فوق التراكب --> <h3>عنوان المشروط</h3> <p>محتوى المشروط</p> </div>
فئات Z-Index:
  • z-n1 - z-index: -1
  • z-0 - z-index: 0
  • z-1 - z-index: 1
  • z-2 - z-index: 2
  • z-3 - z-index: 3

ملاحظة: مكونات Bootstrap (navbar، dropdown، modal، tooltip، popover) لها قيم z-index محددة مسبقًا (1000+) لضمان الطبقات الصحيحة.

5. أفضل ممارسات التخطيط

استراتيجيات مجربة لبناء تخطيطات قابلة للصيانة:

<!-- أفضل ممارسة 1: HTML دلالي --> <!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>تخطيط دلالي</title> <link href="bootstrap.min.css" rel="stylesheet"> </head> <body> <!-- استخدم العلامات الدلالية --> <header> <nav class="navbar navbar-expand-lg">...</nav> </header> <main> <section class="hero">...</section> <section class="features">...</section> <article class="blog-post">...</article> </main> <aside class="sidebar">...</aside> <footer>...</footer> </body> </html>
مزالق التخطيط الشائعة:
  • نسيان إغلاق الحاويات أو الصفوف أو الأعمدة بشكل صحيح
  • تداخل الحاويات داخل الحاويات (غير موصى به)
  • استخدام عدد كبير جدًا من الصفوف المتداخلة (اجعلها بسيطة)
  • عدم الاختبار على أجهزة حقيقية (هاتف، جهاز لوحي، سطح المكتب)
  • ترميز الارتفاعات بدلاً من السماح للمحتوى بالتدفق بشكل طبيعي
  • الإفراط في استخدام التموضع الثابت (يمكن أن يسبب مشاكل على الهاتف)
  • عدم مراعاة إمكانية الوصول (التنقل بلوحة المفاتيح، قارئات الشاشة)

المشروع النهائي: موقع ويب كامل

أنشئ موقع ويب متعدد الصفحات كامل بهذه المتطلبات:

الصفحة 1: الصفحة الرئيسية

  • تنقل ثابت مع شعار وقائمة
  • قسم بطل مع صورة خلفية ودعوة لاتخاذ إجراء
  • قسم الميزات (3-4 بطاقات ميزات)
  • دائري للشهادات
  • نموذج الاشتراك في النشرة الإخبارية
  • تذييل مع أعمدة متعددة

الصفحة 2: صفحة عنا

  • رأس الصفحة مع تنقل التنقل
  • تخطيط من عمودين (محتوى + شريط جانبي)
  • شبكة أعضاء الفريق
  • الجدول الزمني للشركة

الصفحة 3: صفحة الاتصال

  • نموذج اتصال مع تنسيق التحقق
  • خريطة الموقع (عنصر نائب)
  • بطاقات معلومات الاتصال

المتطلبات:

  • استخدم أنواع الحاويات المناسبة في جميع أنحاء
  • نفّذ نقاط التوقف المتجاوبة المناسبة
  • طبّق تباعدًا متسقًا باستخدام أدوات Bootstrap
  • استخدم عناصر HTML5 الدلالية
  • تأكد من أن جميع الصور متجاوبة
  • أضف z-index مناسبًا للتراكبات
  • اختبر على الهاتف (375px) والجهاز اللوحي (768px) وسطح المكتب (1200px+)
  • قم بتضمين تسميات ARIA المناسبة لإمكانية الوصول
  • حسّن للأداء (التحميل البطيء، إلخ.)
قائمة التحقق من إتقان التخطيط:
  • ✓ استخدم الحاوية المناسبة لكل قسم
  • ✓ ابدأ بالأولوية للهاتف، عزز للشاشات الأكبر
  • ✓ اجعل التداخل بسيطًا (2-3 مستويات كحد أقصى)
  • ✓ استخدم تباعدًا متسقًا في جميع أنحاء
  • ✓ اختبر جميع نقاط التوقف المتجاوبة
  • ✓ تحقق من HTML وتحقق من إمكانية الوصول
  • ✓ حسّن الصور واستخدم التحميل البطيء
  • ✓ استخدم عناصر HTML الدلالية
  • ✓ وثّق التخطيطات المعقدة بالتعليقات
  • ✓ حافظ على تنظيم CSS وقابليته للصيانة
تهانينا! لقد أكملت الوحدة 2: نظام الشبكة المتقدم. لديك الآن فهم قوي لـ:
  • محاذاة وترتيب الشبكة
  • الشبكات المتداخلة المعقدة
  • أدوات الشبكة والتخصيص
  • أنماط التصميم المتجاوب
  • مكونات تخطيط Bootstrap

في الوحدة التالية، سنغوص في مكتبة مكونات Bootstrap ونتعلم كيفية بناء عناصر واجهة مستخدم تفاعلية!

ES
Edrees Salih
منذ 17 ساعة

We are still cooking the magic in the way!