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

أدوات التباعد والهوامش في بوتستراب 5Bootstrap 5 Spacing Utilities

أتقن أدوات التباعد والهوامش والحشو في بوتستراب 5 عبر معادلة التسمية الموحدة، ومقياس المسافات القياسي من 0 إلى 5، والكلاسات المنطقية الداعمة للعربية، والتوسيط الأفقي وفواصل gap.
أقسام الدرس
7
الأمثلة
4
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
1
محتوى الدرس
في هذا الدرس 7تصفّح المواضيع

يُعد ضبط المسافات الفارغة حول العناصر وبداخلها العمود الفقري لجمال أي واجهة مستخدم. ولتفادي كتابة عشرات الكلاسات المخصصة في كل صفحة، ابتكر بوتستراب صيغة تسمية قياسية مختصرة تتألف من ثلاثة مقاطع متتالية: {property}{sides}-{size} للشاشات كافة، أو {property}{sides}-{breakpoint}-{size} لتخصيص نقطة توقف معينة.

يرمز الحرف الأول إلى نوع الخاصية: m للهامش الخارجي margin الذي يبعد العنصر عن جيرانه، وp للحشو الداخلي padding الذي يوسع المساحة بين إطار العنصر ومحتواه النصي، وعند ترك خانة الجهة فارغة مثل .p-3 أو .m-2 تسري المسافة على الجهات الأربع دفعة واحدة.

الشكل 1: تفكيك صيغة كلاسات التباعد المنطقية ومقياس وحدات rem في Bootstrap 5.3.
مخطط معادلة تسمية كلاسات الهوامش والحشو ومقياس 0 إلى 5 في بوتستراب 5
مخطط معادلة تسمية كلاسات الهوامش والحشو ومقياس 0 إلى 5 في بوتستراب 5

يتكون سلم المسافات الرقمي في بوتستراب 5 من ست درجات مدروسة تبدأ من الصفر وحتى الرقم خمسة:

  • الدرجة 0: تلغي الهامش أو الحشو تماماً (0rem) مثل .m-0 و.p-0.
  • الدرجة 1: ربع الوحدة الأساسية (0.25rem = 4px) للمسافات الدقيقة جداً.
  • الدرجة 2: نصف الوحدة (0.5rem = 8px) للعناصر المدمجة.
  • الدرجة 3: الوحدة الكاملة القياسية (1rem = 16px) وهي الأكثر شيوعاً للبطاقات والفقرات.
  • الدرجة 4: مرة ونصف (1.5rem = 24px) لفصل الكتل المتجاورة بوضوح.
  • الدرجة 5: ثلاثة أضعاف الوحدة (3rem = 48px) لفصل أقسام الصفحة الكبرى.
HTML
<div class="p-1 mb-2 text-bg-secondary">p-1 (4px)</div>
<div class="p-2 mb-2 text-bg-primary">p-2 (8px)</div>
<div class="p-3 mb-2 text-bg-success">p-3 (16px)</div>
<div class="p-4 text-bg-dark">p-4 (24px)</div>

تُعد النقلة من الاتجاهات الفيزيائية الجامدة إلى الاتجاهات المنطقية أهم تحديث هندسي في بوتستراب 5 لدعم اللغة العربية؛ إذ أُلغيت نهائياً كلاسات الإصدار الرابع القديمة ml-* وmr-* وpl-* وpr-* وحلت محلها حروف البداية والنهاية:

  • حرف البداية s (start): في .ms-* و.ps-* يعني الحافة اليمنى في العربية RTL والحافة اليسرى في الإنجليزية LTR.
  • حرف النهاية e (end): في .me-* و.pe-* يعني الحافة اليسرى في العربية RTL والحافة اليمنى في الإنجليزية LTR.

بينما يبقى حرفا الأعلى t (.mt-* / .pt-*) والأسفل b (.mb-* / .pb-*) ثابتين في جميع اللغات.

HTML
<div class="p-3 rounded
  bg-primary-subtle text-primary-emphasis">
  <i class="bi bi-check-circle-fill me-2"
    aria-hidden="true"></i>
  <span>Logical me-2 space after icon.</span>
</div>

بدلاً من تكرار كلاسين متطابقين للجانبين المتقابلين مثل كتابة ps-4 pe-4 أو mt-3 mb-3، يوفر بوتستراب حرفي المحاور المتماثلة لتقليص طول الكود:

  • المحور الأفقي x: يضبط البداية والنهاية معاً عبر .mx-0..5 للهوامش و.px-0..5 للحشو الأفقي.
  • المحور الرأسي y: يضبط الأعلى والأسفل معاً عبر .my-0..5 للهوامش و.py-0..5 للحشو الرأسي (مثل px-3 py-2 الشائع جداً لتبطين الشارات والأزرار).

لتوسيط صندوق كتلي في منتصف حاويته أفقياً، يوفر بوتستراب كلاس .mx-auto الذي يضبط الهامشين الأفقيين على القيمة التلقائية margin-right: auto; margin-left: auto.

تذكر الشرطين الهندسيين لنجاح .mx-auto: أولاً أن يكون العنصر كتلي العرض (display: block)، وثانياً أن يكون عرضه أقل من 100% من عرض أبيه (عبر تحديد كلاس عمود مثل .col-md-8 أو عرض محدد)؛ إذ لا توجد مساحة فارغة لتوزيعها إذا كان العنصر يملأ السطر بالكامل.

المسافة الرحبة التي تبدو أنيقة على شاشة الحاسوب مثل .p-5 (48px من كل جهة) قد تلتهم نصف عرض شاشة الهاتف الصغير وتضغط النص في عمود ضيق! وهنا تتجلى مرونة نقاط التوقف المدمجة في جميع كلاسات التباعد.

اكتب القيمة المدمجة للهاتف أولاً بدون لاحقة مثل p-3 mb-3، ثم أضف القيمة الأوسع للأجهزة اللوحية والحواسيب مثل p-md-4 p-lg-5 mb-lg-5 ليتنفس التصميم تلقائياً كلما اتسعت الشاشة.

HTML
<div class="col-11 col-md-8 mx-auto
  p-3 p-md-4 p-lg-5 text-bg-dark rounded">
  <h2 class="h4 mb-2">Adaptive Hero Box</h2>
  <p class="mb-0">Compact mobile, wide desktop.</p>
</div>

عند ترتيب عدة عناصر داخل حاوية شبكية حديثة مثل .grid، بدلاً من إعطاء هامش سفلي وجانبي لكل عنصر فرعي ثم معالجة زيادة الهامش على العنصر الأخير، يوفر بوتستراب 5 كلاسات الفجوات المباشرة .gap-0 حتى .gap-5 على الحاوية الأب نفسها.

وإذا رغبت في فصل المسافة الرأسية بين الصفوف عن المسافة الأفقية بين الأعمدة، استخدم .row-gap-0..5 و.column-gap-0..5 بنسخها المتجاوبة:

HTML
<div class="grid row-gap-2 column-gap-4">
  <div class="g-col-6 p-2 text-bg-primary">Item A</div>
  <div class="g-col-6 p-2 text-bg-primary">Item B</div>
  <div class="g-col-6 p-2 text-bg-dark">Item C</div>
  <div class="g-col-6 p-2 text-bg-dark">Item D</div>
</div>

يجمع الجدول المرجعي التالي رموز صيغة التباعد وسلم القياسات المعتمدة في بوتستراب 5.3:

الرمز أو المقياسالمعنى والقيمة المحسوبةمثال تطبيقي
m / pالهامش الخارجي margin / الحشو الداخلي padding.m-0, .p-3
t / b / s / eأعلى، أسفل، بداية منطقية، نهاية منطقية.mt-2, .mb-4, .ms-3, .pe-2
x / yالمحور الأفقي معاً / المحور الرأسي معاً.px-3, .py-2, .mx-auto
المقياس 0 .. 50, 0.25rem, 0.5rem, 1rem, 1.5rem, 3rem.p-2 p-md-4 p-lg-5
.gap-* / .row-gap-* / .column-gap-*فجوات داخلية بين عناصر الشبكة والصندوق المرن.grid .gap-3
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

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

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

ملخص الدرس: أتقنت في هذا الدرس معادلة تسمية كلاسات الهوامش والحشو، وسلم القياسات الستة المبني على وحدة rem، واستخدام الاتجاهات المنطقية ms وme وps وpe لدعم العربية تلقائياً، والتوسيط الأفقي عبر mx-auto والتباعد المتجاوب وفواصل gap.

الخطوة التالية والدرس القادم

انتقل الآن إلى درس «الحدود والأبعاد والظلال في بوتستراب 5» لتشكيل العناصر بالإطارات الملونة واستدارة الحواف ونسب العرض والارتفاع ودرجات الظلال.

مشاركة

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

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

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

المصطلحات4

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

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Logical Spacing Sides جهات التباعد المنطقية
حرفا البداية s والنهاية e في كلاسات الهوامش والحشو اللذان ينعكسان تلقائياً بين الإنجليزية والعربية.
للمراجعة
02 Spacer Scale سلم المسافات القياسي
ست درجات رقمية قياسية من 0 حتى 5 مشتقة من وحدة 1rem لضبط إيقاع المسافات بتناغم.
للمراجعة
03 Symmetric Axis Utilities كلاسات المحاور المتماثلة
مختصرات المحور الأفقي x والمحور الرأسي y لضبط الجهتين المتقابلتين معاً بكلاس واحد.
للمراجعة
04 Gap Utility أداة الفجوات البينية
كلاسات توضع على الحاوية الأب لتحديد المسافة الفاصلة بين العناصر الأبناء مباشرة دون هوامش خارجية زائدة.
للمراجعة

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

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

الاختصارات4

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

0 / 4 مفهومةأول بطاقة، أول خطوة
01 REM REM
Root Em Unit
وحدة القياس النسبية المعتمدة على حجم خط عنصر html الجذري والتي يبنى عليها سلم التباعد.
للمراجعة
02 RTL RTL
Right-to-Left
اتجاه الواجهة العربية حيث تمثل البداية s جهة اليمين وتمثل النهاية e جهة اليسار.
للمراجعة
03 LTR LTR
Left-to-Right
اتجاه الواجهة الإنجليزية حيث تمثل البداية s جهة اليسار وتمثل النهاية e جهة اليمين.
للمراجعة
04 CSS CSS
Cascading Style Sheets
توفر خصائص نموذج الصندوق للهوامش والحشو والفجوات التي تختصرها كلاسات التباعد.
للمراجعة

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

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

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

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

0/2مهام منجزة
  1. أنشئ كتلة بأعمدة col-10 col-md-8 متوسطة بكلاس mx-auto تبدأ بحشو مدمج p-2 وهامش mb-2 على الهاتف وتتوسع إلى p-md-4 وp-lg-5 على الشاشات الأكبر.

  2. أنشئ حاوية <div class="grid gap-3"> تضم عنصرين بكلاس g-col-6 وحشو px-3 py-2، وضع قبل النص أيقونة مزودة بكلاس التباعد المنطقي me-2.

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

مساحة التحدي

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

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

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

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

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

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

ما الكلاس الحديث في بوتستراب 5 الذي حل محل الكلاس الملغى .ml-3؟

استبدل بوتستراب 5 الاتجاه الفيزيائي الأيسر ml بالبداية المنطقية .ms-3.

02

بافتراض وحدة الأساس الافتراضية 1rem، ما مقدار الحشو الذي يطبقه الكلاس .p-5؟

تعادل الدرجة الخامسة في سلم التباعد ثلاثة أضعاف الوحدة الأساسية أي 3rem (48px).

03

في صفحة عربية باتجاه RTL مع ملف bootstrap.rtl.min.css، أي جهة فيزيائية يبطنها الكلاس .ps-4؟

تمثل البداية المنطقية s في اللغة العربية الحافة اليمنى للعنصر.

04

هل تعمل كلاسات الهوامش السالبة مثل .mt-n2 افتراضياً في ملف بوتستراب 5 الجاهز دون تعديل Sass؟

خطأ؛ عُطلت كلاسات الهوامش السالبة افتراضياً في حزمة بوتستراب 5 المترجمة لتقليص حجم الملف.

05

ما الخاصيتان اللتان يضبطهما الكلاس المختصر .py-3 على العنصر؟

يضبط حرف المحور الرأسي y الحشو العلوي والسفلي معاً بمقدار 1rem.

06

ما الشرط الأساسي لكي ينجح كلاس .mx-auto في توسيط العنصر أفقياً داخل حاويته؟

يجب أن يكون العنصر كتلي العرض (block) وبعرض أقل من 100% من عرض الحاوية الأب.

07

هل يمنح الكلاس المزدوج "p-2 p-lg-5" العنصر حشواً قدره 0.5rem على الهاتف ويرفعه إلى 3rem بدءاً من عرض 992px؟

صحيح؛ يسري p-2 للهواتف أولاً ثم يتجاوزه p-lg-5 عند بلوغ شاشات lg (992px فأكثر).

08

أي كلاس يتحكم في المسافة الأفقية بين الأعمدة فقط داخل حاوية .grid دون تغيير المسافة الرأسية للصفوف؟

يضبط الكلاس .column-gap-* المسافة الأفقية بين الأعمدة بشكل مستقل عن فجوة الصفوف.