الدرس التاسع: الإطارات (Borders) والمسافات (Margin & Padding) – شرح عملي مبسط
في تصميم صفحات الويب، تُعتبر الإطارات والمسافات من أهم عناصر التحكم في الشكل والترتيب، فهي تحدد كيف تظهر العناصر بالنسبة لبعضها وتؤثر بشكل كبير على تجربة المستخدم.
خصائص border
، margin
، وpadding
تمنحك القدرة على ضبط حدود العناصر، والمسافات الداخلية والخارجية بينها بطريقة تجعل تصميمك أكثر جاذبية وتنظيمًا.
فعلى سبيل المثال، الإطار (border
) يحدد الخط المحيط بالعنصر، بينما الحشو (padding
) يضيف مساحة داخلية بين محتوى العنصر وحدوده، والمسافة الخارجية (margin
) تفصل العنصر عن العناصر المجاورة له.
فهم هذه الخصائص والتعامل معها بدقة يساعدك على بناء صفحات ويب متناسقة ومريحة للعين، ويضمن ترتيب العناصر بشكل متوازن على الشاشة، سواء في التخطيطات البسيطة أو المعقدة.

1. الإطارات (Borders) في CSS
تُستخدم خاصية border
لإضافة حدود حول العنصر، مما يساعد في تمييزه بصريًا عن باقي المحتوى.
يمكنك التحكم في سمك الإطار، لونه، ونمطه لتتناسب مع تصميم موقعك.
تدعم CSS عدة أنماط للإطارات مثل الصلب (solid
)، المنقط (dotted
)، المنخط (dashed
)، والمزدوج (double
).
/* إطار بسيط صلب بعرض 2 بكسل ولون أزرق */ div { border: 2px solid #004b97; } /* إطار منقط بعرض 3 بكسل ولون أخضر */ div.dotted { border: 3px dotted #28a745; } /* إطار منخط بعرض 3 بكسل ولون برتقالي */ div.dashed { border: 3px dashed #ff5733; }
يمكنك أيضًا التحكم في الإطارات لكل جانب على حدة، ما يمنحك حرية أكبر في تصميم الحدود:
div { border-top: 2px solid red; /* إطار علوي صلب */ border-right: 4px dashed blue; /* إطار أيمن منخط */ border-bottom: 2px dotted green; /* إطار سفلي منقط */ border-left: none; /* لا يوجد إطار على اليسار */ }
2. المسافات الخارجية (Margin)
خاصية margin
تمثل المسافة الفارغة بين حدود العنصر والعناصر المحيطة به،
وهذه المسافة تساعد على فصل العناصر عن بعضها، مما يجعل التصميم أكثر وضوحًا وتنظيمًا.
تحديد الهامش بشكل موحد
يمكنك تعيين نفس القيمة لجميع الجهات الأربعة (أعلى، يمين، أسفل، يسار) باستخدام خاصية margin
مباشرة:
p { margin: 20px; }
تحديد الهامش لكل جهة بشكل مستقل
في بعض الحالات تحتاج لتحديد مسافات مختلفة لكل جهة على حدة:
p { margin-top: 10px; /* هامش أعلى */ margin-right: 15px; /* هامش يمين */ margin-bottom: 10px; /* هامش أسفل */ margin-left: 15px; /* هامش يسار */ }
كتابة الهامش باستخدام الاختصار الرباعي
يمكنك أيضًا كتابة القيم الأربعة معًا بطريقة مختصرة، حيث يكون ترتيب القيم:
أعلى
، يمين
، أسفل
، يسار
:
p { margin: 10px 15px 10px 15px; }
اختصارات إضافية للهامش
margin: 10px 15px;
تعني 10 بكسل أعلى وأسفل، و15 بكسل يمين ويسار.margin: 10px 15px 5px;
تعني 10 بكسل أعلى، 15 بكسل يمين ويسار، و5 بكسل أسفل.
3. المسافات الداخلية (Padding)
خاصية padding
تمثل المسافة بين محتوى العنصر وحدوده الداخلية، وهي توفر "مساحة تنفس" داخل العنصر نفسه،
تجعل المحتوى غير ملتصق مباشرةً بحواف العنصر، مما يحسن من وضوح القراءة وتجربة المستخدم.
div { padding: 15px; }
يمكنك أيضاً تعيين قيم مختلفة لكل جانب من جوانب العنصر بشكل منفصل:
div { padding-top: 10px; /* مسافة داخلية من الأعلى */ padding-right: 20px; /* مسافة داخلية من اليمين */ padding-bottom: 10px; /* مسافة داخلية من الأسفل */ padding-left: 20px; /* مسافة داخلية من اليسار */ }
الفرق بين padding
و margin
:
- padding: يضيف مساحة داخل العنصر بين المحتوى وحدوده.
- margin: يضيف مساحة خارج حدود العنصر تفصل بينه وبين العناصر الأخرى.
padding
لزيادة المساحة داخل العناصر وجعل المحتوى أكثر راحة للعين، خاصة في النصوص والأزرار.
4. الفرق بين Margin
و Padding
- Margin: هي المسافة الخارجية التي تفصل بين حدود العنصر والعناصر المحيطة به. تؤثر على المسافة بين العناصر المختلفة داخل الصفحة، ولا تؤثر على حجم المحتوى داخل العنصر.
- Padding: هي المسافة الداخلية بين محتوى العنصر وحدوده. تزيد من المساحة حول المحتوى داخل العنصر، مما يجعل المحتوى غير ملتصق بحواف العنصر.
مثال عملي:
margin
و padding
في المثال أعلاه:
- الـ margin
تُظهر المسافة الفارغة بين العنصر .box
والعناصر المحيطة (مثل حاوية الـ .container
) أو عناصر أخرى.
- الـ padding
تخلق مساحة داخل العنصر بين النص وحدود الصندوق الأزرق.
5. مثال عملي
.box { border: 3px solid #004b97; /* إطار أزرق صلب بعرض 3 بكسل */ margin: 20px; /* مسافة خارجية 20 بكسل تفصل العنصر عن العناصر الأخرى */ padding: 15px; /* مسافة داخلية 15 بكسل تفصل المحتوى عن حدود العنصر */ background-color: #e6f0fa; /* لون خلفية فاتح */ }
في هذا المثال، نلاحظ أن:
- الإطار (border): يُحيط بالعنصر ويبرز حدوده.
- المسافة الداخلية (padding): تُبعد النص عن حدود الإطار مما يجعل المحتوى أكثر راحة للعين.
- المسافة الخارجية (margin): تخلق فراغًا حول الصندوق ليبتعد عن العناصر الأخرى أو حافة الصفحة.
box-sizing: border-box;
لتسهيل حساب أبعاد العنصر عند استخدام الحواف (border
) والمسافات الداخلية (padding
).
فهذا يعني أن عرض وارتفاع العنصر يشملان الحواف والمسافات الداخلية، مما يمنع زيادة غير متوقعة في حجم العنصر.
* { box-sizing: border-box; }
بدون border-box
، عند إضافة الحواف أو الحشو، سيزداد حجم العنصر عن القيمة المحددة في width
وheight
.
أما مع border-box
، فإن الحواف والحشو تُحتسب ضمن أبعاد العنصر، مما يسهل تصميم التخطيطات بدقة.