تخطَّ إلى المحتوى

gap

خاصية المسافة بين العناصر gap

خاصية gap تضع مسافات بين أبناء flex أو grid من الحاوية نفسها — وداعًا لهوامش الأبناء وحواف «العنصر الأخير» الشاذة.

قبلها كانت المسافات تُبنى بهوامش على كل ابن، مع خدعة إزالة هامش الأخير — هشاشة كاملة. gap تحلها من الحاوية بسطر: مسافة بين العناصر فقط، لا قبل الأول ولا بعد الأخير، وتتكيف مع الالتفاف والاتجاه وRTL تلقائيًا.

بقيمتين تفرق بين الصفوف والأعمدة: gap: 24px 12px (صفوف ثم أعمدة). تعمل في flex وgrid وحتى الأعمدة الصحفية.

الصياغة

.container {
  display: flex; /* أو grid */
  gap: 16px;      /* أو: gap: 24px 12px (صفوف أعمدة) */
}

⚡ جرّب بنفسك

عدّل الكود واضغط «تحديث» لترى النتيجة فورًا — التجربة أفضل معلّم.

🎨 محرّر HTML/CSS
<style>
  .demo { display: flex; flex-wrap: wrap; gap: 12px; background: #ede9fe; padding: 12px; border-radius: 10px; }
  .demo span { background: #7c5cff; color: white; padding: 8px 16px; border-radius: 8px; }
</style>
<div class="demo">
  <span>عنصر</span><span>عنصر</span><span>عنصر</span><span>عنصر</span><span>عنصر</span>
</div>
<p>مسافات متساوية بلا هامش واحد على الأبناء — ولا حافة شاذة عند الالتفاف.</p>
النتيجة المباشرة:

أهم القيم

القيمةالوظيفة
gap: 16pxمسافة موحدة بين الكل — صفوفًا وأعمدة
gap: 24px 12pxقيمتان: بين الصفوف ثم بين الأعمدة
row-gap / column-gapالصيغتان المنفصلتان لكل اتجاه

💡 نصائح عملية

  • مسافات بين الإخوة = gap من الأب؛ مسافة عنصر عن محيطه = margin — تقسيم أدوار نظيف
  • تلمع مع flex-wrap: المسافات تبقى مثالية بين الأسطر الملتفة تلقائيًا

⚠️ أخطاء شائعة

  • بناء المسافات بهوامش الأبناء + خدعة last-child — النمط القديم الهش
  • توقعها بين عناصر عادية بلا flex/grid على الأب — لا تعمل هناك

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار CSS الكامل بالعربي.

📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs