جاري التحميل...

الهامش الخارجي (Margin) في CSS

ترسم الصندوق وتحدّه وتدوّر زواياه. المهارة التالية: إبعاد الصناديق عن بعضها. margin هو الفراغ الخارجي حول العنصر — مساحة التنفس خارج الحد.

ما هو margin؟

الهامش مساحة فارغة حول خارج حد العنصر. يفصل صندوقاً عن جيرانه. لا يلوّن خلفية العنصر داخل هذا الفراغ — الفراغ خارج المنطقة المعبأة.

Margin مقابل padding (فرق سريع)

Padding (الدرس التالي) داخل الحد — بين المحتوى والحافة. Margin خارج الحد — بين هذا الصندوق والذي يليه. إن حفظت سطراً واحداً اليوم: margin = خارج، padding = داخل.

الاختصار: كم قيمة؟

يمكنك تمرير طول واحد أو اثنين أو ثلاثة أو أربعة. ترتيب الجوانب ثابت.

📊 عدد قيم اختصار margin

القيم المعنى ملاحظة يومية
1 الجوانب الأربعة متساوية تنفس متساوٍ حول البطاقة
2 أعلى+أسفل، ثم يسار+يمين أزواج رأسية وأفقية
3 أعلى، يسار+يمين، أسفل أقل شيوعاً — اعرف وجوده
4 أعلى، يمين، أسفل، يسار تحكم كامل، مع عقارب الساعة من الأعلى

فراغ متساوٍ على كل جانب

ابدأ بطول واحد لكل الجوانب.

نفس الهامش على كل الجوانب

css
CSS Code
.card {
margin: 16px;
border: 1px solid #cbd5e1;
padding: 1rem;
background-color: #ffffff;
}

قيمتان — رأسي ثم أفقي

طولان يقرنان الجوانب المتقابلة: الأول أعلى وأسفل؛ الثاني يسار ويمين.

هامش رأسي ثم أفقي

css
CSS Code
.panel {
margin: 24px 12px;
border: 1px solid #94a3b8;
padding: 1rem;
background-color: #f8fafc;
}

أربع قيم — مع عقارب الساعة من الأعلى

حين يحتاج كل جانب فراغه: أعلى → يمين → أسفل → يسار.

اختصار الهامش بأربعة جوانب

css
CSS Code
.note {
margin: 8px 20px 32px 20px;
border: 1px solid #0f766e;
padding: 0.75rem;
background-color: #ecfdf5;
}

توسيط كتلة بـ auto

لصندوق مستوى الكتلة بعرض محدد، margin-left: auto وmargin-right: auto (غالباً margin: 0 auto) يقسمان الفراغ المتبقي على الجانبين — طريقة كلاسيكية لـ التوسيط الأفقي.

توسيط أفقي بـ auto

css
CSS Code
.box {
width: 280px;
margin: 0 auto;
border: 2px solid #0f766e;
padding: 1rem;
background-color: #f0fdfa;
}

الهوامش الرأسية قد تنهار

حين يتراص عنصران كتليان، هامش أسفل الأول وهامش أعلى الثاني غالباً ينهاران (collapse) إلى فراغ واحد — عادة الأكبر منهما لا مجموعهما. يفاجئ المبتدئين؛ توقّعه بين الفقرات والأقسام المتتالية.

كتل متراصة مع انهيار الهامش

css
CSS Code
.block-a {
margin-bottom: 24px;
background-color: #ccfbf1;
padding: 0.5rem;
}

.block-b {
margin-top: 24px;
background-color: #99f6e4;
padding: 0.5rem;
}
/* بينهما غالباً ترى نحو 24px لا 48px */

جانب واحد في كل مرة

الخصائص الطويلة مثل margin-top ممتازة حين تحتاج فراغاً فوق عنوان أو تحت زر فقط.

هامش أعلى فقط

css
CSS Code
.section-title {
margin-top: 2rem;
margin-bottom: 0.5rem;
margin-left: 0;
margin-right: 0;
}

جرّبها بنفسك

  1. أعطِ بطاقتين margin: 16px وراقب الفراغ الخارجي.
  2. أعد كتابة واحدة كـ margin: 24px 12px ولاحظ الرأسي مقابل الأفقي.
  3. وسّط صندوقاً بعرض 280px بـ margin: 0 auto.
  4. راصّ كتلتين ملونتين بـ margin-bottom وmargin-top كلاهما 24px — قِس إن كان الفراغ يشبه 24 أم 48.
  5. أبعد عنواناً بـ margin-top فقط.

أخطاء شائعة

  • استخدام margin حين تقصد padding (وسادة داخلية للنص)
  • توقع أن margin: auto يوسّط كل عنصر flex/grid كما يوسّط كتلة بسيطة (سياق التخطيط يهم)
  • إضافة هامش أعلى وأسفل وافتراض أنهما دائماً يُجمعان (الانهيار قد يصغّر الفراغ)
  • هوامش ضخمة في كل مكان بدل مقياس صغير متسق
  • خلط ترتيب القيم الأربع (أعلى، يمين، أسفل، يسار)

ملخص

  • الهامش فراغ خارجي خارج الحد
  • الاختصار: قيمة أو اثنتان أو أربع (الأربع مع عقارب الساعة من الأعلى)
  • margin: 0 auto يوسّط كتلة بعرض محدد أفقياً
  • الهوامش الرأسية بين الكتل المتراصة قد تنهار
  • استخدم الخصائص الطويلة لجانب واحد عند الحاجة
  • Padding هو ابن العم الداخلي — الدرس التالي

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
9
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى