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

محاذاة وترتيب الأعمدة في بوتستراب 5Bootstrap 5 Grid Columns

التحكم المتقدم بأعمدة شبكة بوتستراب 5: المحاذاة الرأسية والأفقية، كسر السطر بـ w-100، الترتيب البصري order، الإزاحة المنطقية offset، والأعمدة المنفردة.
أقسام الدرس
7
الأمثلة
4
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
0
محتوى الدرس
في هذا الدرس 7تصفّح المواضيع

بما أن عنصر الصف .row في Bootstrap 5 هو حاوية Flexbox أصيلة، يمكنك التحكم الفوري بمحاذاة جميع أعمدته على المحور الرأسي عندما تختلف ارتفاعات محتوياتها أو يمتلك الصف ارتفاعاً أكبر منها. استخدم الكلاسات .align-items-start (أعلى الصف)، أو .align-items-center (منتصف الصف عمودياً)، أو .align-items-end (أسفل الصف) مباشرة على عنصر .row.

مخطط توضيحي لأدوات محاذاة الأعمدة وفواصل السطر وإعادة الترتيب والإزاحة في بوتستراب 5

إذا أردت تحريك عمود واحد بمفرده إلى الأعلى أو المنتصف أو الأسفل دون تغيير محاذاة بقية الأعمدة المجاورة له في نفس الصف، ضع الكلاس على العمود نفسه باستخدام .align-self-start أو .align-self-center أو .align-self-end (مع دعم كامل للنسخ المتجاوبة مثل .align-self-md-center).

HTML
<div class="container">
  <div class="row" style="min-height: 110px;">
    <div class="col align-self-start">Top</div>
    <div class="col align-self-center">Middle</div>
    <div class="col align-self-end">Bottom</div>
  </div>
</div>

عندما يكون مجموع وحدات الأعمدة داخل الصف أقل من 12 وحدة (مثل عمودين بحجم .col-4 مجموعهما 8 وحدات فقط)، يتبقى فراغ أفقي قدره 4 وحدات. يمكنك التحكم في توزيع هذا الفراغ بإضافة أحد كلاسات المحور الأفقي على عنصر .row: مثل .justify-content-start، أو .justify-content-center للتوسيط، أو .justify-content-end، أو .justify-content-around، أو .justify-content-between، أو .justify-content-evenly.

HTML
<div class="container">
  <div class="row justify-content-center">
    <div class="col-4">Centered A</div>
    <div class="col-4">Centered B</div>
  </div>
  <div class="row justify-content-between">
    <div class="col-4">Start Edge</div>
    <div class="col-4">End Edge</div>
  </div>
</div>

ينتقل العمود تلقائياً إلى سطر جديد متى تجاوز مجموع الوحدات الرقمية 12 عموداً، ولكن ماذا لو أردت إجبار الأعمدة على النزول لسطر جديد دون إنشاء عنصر .row منفصل وحتى لو كان مجموعها أقل من 12؟ الحل الرسمي في Bootstrap 5 هو إدراج عنصر فاصل فارغ <div class="w-100"></div> بين الأعمدة ليشغل عرض 100% من مسار Flexbox ويدفع ما بعده مباشرة إلى سطر جديد.

تتيح كلاسات .order-0 حتى .order-5، بالإضافة إلى .order-first (order: -1) و.order-last (order: 6)، إعادة ترتيب ظهور الأعمدة بصرياً عبر الشاشات المختلفة مثل وضع قائمة التنقل في الأعلى على الهاتف ثم نقلها لليسار أو اليمين على سطح المكتب عبر .order-md-2.

HTML
<div class="container">
  <div class="row">
    <div class="col order-3">1st DOM (order-3)</div>
    <div class="col order-2">2nd DOM (order-2)</div>
    <div class="col order-first">3rd DOM (first)</div>
  </div>
</div>

لدفع عمود بمقدار عدد محدد من وحدات الشبكة دون إدراج أعمدة فارغة قبله، استخدم كلاسات الإزاحة .offset-1 حتى .offset-11 أو نسخها المتجاوبة مثل .offset-md-3 (الذي يدفع عموداً بحجم .col-md-6 بمقدار 3 وحدات ليتوسط الصف تماماً: 3 فراغ + 6 عمود + 3 متبقٍ). كما يمكنك تصفير الإزاحة على شاشة أكبر عبر .offset-lg-0.

جرّب المحاذاة والفواصل والترتيب والإزاحة عملياً في المختبر الحي التالي:

ميزة إضافية مفيدة في Bootstrap 5 هي إمكانية استخدام كلاسات .col-* ككلاسات عرض منفردة خارج عنصر .row تماماً! فعند وضع .col-sm-8 على فقرة أو صندوق مستقل في الصفحة، يمنحه بوتستراب عرضاً متجاوباً قدره 66.67% على الشاشات الأكبر من sm وعرضاً كاملاً 100% على الهواتف دون أي حشو جانبي خاص بالصفوف.

HTML
<div class="container">
  <div class="row">
    <div class="col-md-6 offset-md-3">Centered Offset</div>
  </div>
  <div class="col-sm-9">
    Standalone .col-sm-9 outside .row (75% width)
  </div>
</div>

يجمع الجدول التالي كافة كلاسات محاذاة الأعمدة وترتيبها وإزاحتها في Bootstrap 5.3:

مجموعة الكلاساتالعنصر المستهدفالوظيفة التخطيطية
.align-items-{start|center|end}الصف .rowمحاذاة جميع أعمدة الصف رأسياً نحو الأعلى أو المنتصف أو الأسفل
.align-self-{start|center|end}العمود .col-*تغيير المحاذاة الرأسية لعمود مفرد بمعزل عن بقية أعمدة الصف
.justify-content-*الصف .rowتوزيع المساحة الأفقية الفائضة عندما يقل مجموع الأعمدة عن 12
.w-100عنصر فارغ داخل .rowفرض كسر فوري للسطر لنقل الأعمدة التالية إلى سطر بصري جديد
.order-{0..5|first|last}العمود .col-*إعادة الترتيب البصري للأعمدة عبر نقاط التوقف دون تعديل HTML
.offset-{bp}-{0..11}العمود .col-*دفع العمود منطقياً بمقدار وحدات شبكية محددة أو تصفيرها عبر 0
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

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

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

أتقنت في هذا الدرس التحكم الكامل بأعمدة الشبكة عبر المحاذاة الرأسية والأفقية، وكسر السطر بفاصل .w-100، وإعادة الترتيب البصري بكلاسات .order-*، والإزاحة المنطقية بكلاسات .offset-*، واستخدام كلاسات .col-* المنفردة. الخطوة التالية: انتقل الآن إلى درس «الفواصل والمسافات البينية Gutters» لضبط المسافات الأفقية والرأسية بين الأعمدة بدقة عبر كلاسات gx وgy وg.

مشاركة

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

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

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

المصطلحات4

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

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Cross-Axis Alignment المحاذاة الرأسية المتقاطعة
ضبط تموضع الأعمدة في أعلى أو وسط أو أسفل الصف عبر .align-items-* أو لكل عمود عبر .align-self-*.
للمراجعة
02 Column Line Break فاصل كسر سطر الأعمدة
عنصر فارغ يحمل الكلاس .w-100 داخل الصف لإجبار الأعمدة التالية على الانتقال الفوري لسطر جديد.
للمراجعة
03 Visual Flex Order الترتيب البصري المرن
كلاسات .order-* التي تعيد ترتيب ظهور الأعمدة على الشاشة دون تغيير ترتيبها البرمجي في HTML.
للمراجعة
04 Column Offset إزاحة العمود الشبكية
دفع العمود أفقياً بوحدات شبكية دقيقة عبر كلاسات .offset-* باستخدام هامش البداية النسبي.
للمراجعة

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

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

الاختصارات4

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

0 / 4 مفهومةأول بطاقة، أول خطوة
01 RTL RTL
Right-to-Left
الاتجاه من اليمين إلى اليسار — يعكس اتجاه إزاحات .offset-* تلقائياً في النسخة العربية لتدفع العمود من جهة اليمين بدقة.
للمراجعة
02 LTR LTR
Left-to-Right
الاتجاه من اليسار إلى اليمين — يطبق إزاحات .offset-* كهامش أيسر قياسي في الواجهات الإنجليزية.
للمراجعة
03 WCAG WCAG
Web Content Accessibility Guidelines
إرشادات إتاحة محتوى الويب — توصي بالحفاظ على انسجام الترتيب البصري للكلاسات مع تسلسل القراءة والتنقل بلوحة المفاتيح.
للمراجعة
04 DOM DOM
Document Object Model
نموذج كائن المستند — يحدد التسلسل الفعلي لتركيز لوحة المفاتيح وقارئات الشاشة بصرف النظر عن الترتيب البصري.
للمراجعة

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

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

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

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

0/2مهام منجزة
  1. أنشئ صفاً بكلاس .row.justify-content-center يضم عمودين بحجم .col-4، ثم أدرج فاصل <div class="w-100"></div> متبوعاً بعمودين إضافيين بحجم .col-4 في السطر الثاني.

  2. داخل عنصر .row، أنشئ عموداً واحداً يحمل الكلاسات col-12 col-md-6 offset-md-3 ليمتد بعرض كامل على الجوال ويتوسط الشاشة بدءاً من حجم md.

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

مساحة التحدي

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

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

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

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

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

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

ما الكلاس الذي يُوضع على الصف .row لتوسيط جميع أعمدته الأبناء عمودياً في المنتصف؟

02

كيف تحاذي عموداً واحداً فقط إلى أسفل صف مرتفع دون التأثير على الأعمدة المجاورة له؟

03

أي عنصر فارغ مما يلي يُدرج داخل .row لإجبار الأعمدة التالية على الانتقال الفوري لسطر جديد؟

04

إعادة ترتيب الأعمدة بكلاس .order-first أو .order-last تغيّر أيضاً ترتيب التنقل بمفتاح Tab في المتصفح.

05

أي تركيبة كلاسات توسّط عموداً بحجم 6 وحدات أفقياً ابتداءً من الشاشات المتوسطة باستخدام الإزاحة؟

06

كيف تلغي إزاحة موروثة من .offset-sm-2 وتعيدها إلى الصفر ابتداءً من شاشات lg؟

07

في بوتستراب 5 يمكن استخدام كلاسات .col-* منفردة خارج عنصر .row لمنح أي عنصر عرضاً نسبياً متجاوباً.

08

أي كلاس يُوضع على .row لدفع عمودين بحجم .col-4 إلى أقصى طرفَي البداية والنهاية مع ترك الفراغ بينهما؟