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

نموذج الصندوق في CSS

أنت تعرف بالفعل الحدود وpadding وmargin والعرض. الآن ضعها على خريطة واحدة. يقول نموذج الصندوق في CSS إن كل عنصر طبقات متداخلة: المحتوى في الوسط، ثم padding، ثم الحد، ثم margin من الخارج.

الطبقات الأربع

اقرأ الصندوق من الداخل إلى الخارج.

📊 طبقات نموذج الصندوق

الطبقة أين تقع دورها اليومي
المحتوى المركز النص والصور والأبناء يعيشون هنا؛ width / height عادةً تقيس هذا
Padding بين المحتوى والحد وسادة داخلية؛ الخلفية غالباً تملأها
الحد (border) حول الـ padding الحافة المرسومة للصندوق
Margin خارج الحد فجوة خارجية تفصل هذا الصندوق عن جيرانه

ابدأ بحجم المحتوى فقط

عرض بسيط بلا padding ولا حد يبقي القصة واضحة.

عرض المحتوى فقط

css
CSS Code
.box-content {
width: 200px;
background-color: #ccfbf1;
}

أضف padding — المنطقة الملوّنة تكبر

يقع الـ padding داخل الحد. في النموذج الافتراضي content-box، يُضاف الـ padding خارج عرض المحتوى، فيصير الصندوق الملوّن أعرض.

محتوى مع padding

css
CSS Code
.box-pad {
width: 200px;
padding: 20px;
background-color: #99f6e4;
}
/* المحتوى يبقى 200px؛ الـ padding يضيف 20px لكل جانب */

أضف حداً — حلقة أخرى

يلتف الحد حول الـ padding. مع القياس الافتراضي، سُمك الحد يضيف أيضاً إلى الحجم الخارجي لصندوق الحد.

محتوى وpadding وحد

css
CSS Code
.box-border {
width: 200px;
padding: 20px;
border: 4px solid #0f766e;
background-color: #5eead4;
}

اجمع الطبقات الأربع

الـ margin لا يلوّن الخلفية؛ يدفع الجيران فقط بعيداً.

وصفة نموذج الصندوق الكاملة

css
CSS Code
.card {
width: 200px;          /* محتوى */
padding: 16px;         /* وسادة داخلية */
border: 2px solid #134e4a; /* حافة */
margin: 24px;          /* فجوة خارجية */
background-color: #ecfdf5;
}

نفس العرض، حجم كلي مختلف

صندوقان قد يشتركان في width: 200px ثم يبدوان مختلفين جداً حين يدخل الـ padding والحد الوصفة.

مقارنة بسيط مع مبطّن

css
CSS Code
.bare {
width: 200px;
background-color: #fef3c7;
}

.padded {
width: 200px;
padding: 24px;
border: 6px solid #b45309;
background-color: #fde68a;
}
/* كلاهما يدّعي عرض 200px؛ .padded يشغل مساحة أفقية أكبر */

القاعدة الافتراضية للتذكّر

افتراضياً (box-sizing: content-box)، يصف width وheight صندوق المحتوى. الـ padding والحد عادةً يجعلان الصندوق الظاهر النهائي أكبر. درس لاحق يغطي box-sizing: border-box الذي يغيّر هذه الحسابات.

جرّب بنفسك

  1. ابنِ .box-content بـ width: 200px وخلفية فقط.
  2. انسخه، أضف padding: 20px، ولاحظ نمو المنطقة الملوّنة.
  3. أضف حداً سميكاً وراقب الحجم الكلي مرة أخرى.
  4. أضف margin: 24px وتأكد أن الجيران يبتعدون دون أن تملأ الخلفية تلك الفجوة.
  5. ضع .bare و.padded جنباً إلى جنب — نفس العرض المعلن، بصمة مختلفة.

أخطاء شائعة

  • الاعتقاد أن الـ margin جزء من تعبئة الخلفية (هو خارج وغالباً شفاف)
  • إعلان width: 200px وتوقّع أن صندوق الحد يبقى بالضبط 200px بعد padding ثقيل (ليس مع content-box)
  • خلط ترتيب الطبقات (محتوى → padding → حد → margin)
  • خلط outline مع border (أداة مختلفة)
  • القفز إلى عادات border-box قبل فهم النموذج الافتراضي

ملخص

  • لكل عنصر طبقات محتوى وpadding وحد وmargin
  • الـ padding داخل الحد؛ الـ margin خارجه
  • العرض/الارتفاع الافتراضي يقيس صندوق المحتوى
  • الـ padding والحد غالباً يزيدان الحجم الظاهر الكلي
  • الـ margin يفصل من الخارج دون تلوين التعبئة
  • box-sizing (درس تخصصي لاحق) يمكن أن يغيّر حساب العرض

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

جاهز للبدء

اختبر معرفتك

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

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

📝 التعليمات

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