نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
CSS

منهج CSS

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج CSS/نظام الصندوق الكلي (box-sizing: border-box vs content-box)

نظام الصندوق الكلي (box-sizing: border-box vs content-box)

box-sizingborder-boxcss box modelنموذج الصندوق

جدول مرجعي سريع

1
الطبقة أو المفهومطريقة العمل والوظيفة البرمجيةالتأثير على الحساب والأبعاد
Contentيمثل النص أو الصورة الفعلية داخل العنصريمثل المساحة الداخلية الأساسية التي يشغلها النص أو العنصر
Paddingيمثل المسافة الداخلية الفاصلة بين المحتوى وبين حدود العنصريزيد من مساحة الصندوق الداخلية ويمنح النص مساحة مريحة للتنفس
Borderيمثل الإطار المحيط بالعنصر والذي يفصل بين المساحة الداخلية والخارجيةيحدد شكل الإطار الخارجي للعنصر ويقبل سماكة وألواناً مختلفة
Marginيمثل المسافة الخارجية الفاصلة بين العنصر الحالي وبين العناصر المجاورة لهيصنع مساحات فارغة حول العنصر لتباعد المكونات ومنع تداخلها دون التأثير على حجمه
content-boxيحسب العرض المحدد للمحتوى فقط ويضيف عليه قيم الحشو والحدود تلقائياًيسبب مشكلة تكسير التصميم لأن العرض الفعلي للموقع يصبح أكبر من العرض المحدد في الكود
border-boxيجبر المتصفح على حساب قيم الحشو والحدود من ضمن العرض الإجمالي المحدد للعنصريحل مشكلة تكسير التخطيطات ويحافظ على ثبات الأبعاد بدقة كاملة في كل المشاريع الحديثة

الشرح

كل عنصر HTML يُعامَل في CSS كصندوق مستطيل مكوّن من أربع طبقات من الداخل للخارج:

1. **المحتوى (Content)** — النص أو الصورة 2. **الحشو (Padding)** — المسافة بين المحتوى والحدود 3. **الحدود (Border)** — الإطار حول العنصر 4. **الهامش الخارجي (Margin)** — المسافة بين العنصر وجيرانه

**المشكلة مع content-box (الافتراضي):** إذا حددت `width: 300px` ثم أضفت `padding: 20px` و`border: 2px`، سيصبح العرض الفعلي 344px — وهذا يكسر التخطيطات.

**الحل: border-box** مع `box-sizing: border-box`، يظل العرض المحدد 300px بغض النظر عن الـ padding والـ border — لأنهما يُحسبان من الداخل.

الممارسة العامة في كل مشاريع CSS الحديثة هي إضافة: `*, *::before, *::after { box-sizing: border-box; }`

الصياغة (Syntax)

syntax
1/* إعادة ضبط عالمية — ضعها دائماً في بداية CSS */
2*,
3*::before,
4*::after {
5 box-sizing: border-box;
6}

أمثلة عملية

مثال 1: المقارنة بين النموذجين

المقارنة بين النموذجين
1/* content-box: العرض الفعلي = 300 + 40 + 4 = 344px */
2.box-content {
3 box-sizing: content-box;
4 width: 300px;
5 padding: 20px;
6 border: 2px solid #000;
7}
8
9/* border-box: العرض الفعلي = 300px دائماً */
10.box-border {
11 box-sizing: border-box;
12 width: 300px;
13 padding: 20px;
14 border: 2px solid #000;
15}

نصائح احترافية

  • —ابدأ كل مشروع بـ box-sizing: border-box — ستوفر على نفسك مشاكل كثيرة.
  • —يمكن تعريفها على :root وإرثها في الأبناء للأداء الأفضل.

الدرس السابق

العناصر الزائفة (::before, ::after, ::placeholder, ::selection)

الدرس التالي

التحكم في الأبعاد (width, height, min, max)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر