Skip to main content

مقدمة

تعتبر تصميمات واجهة الويب المبتكرة من أهم العوامل التي تجذب المستخدمين وتعزز التفاعل. ويتيح لك CSS إمكانية تقديم هذه التصميمات بطرق فعالة. في هذا السياق، يعد فهم نموذج CSS Box Model أمراً بالغ الأهمية لكل مصمم ومطور ويب. هذا الدليل الشامل سيساعدك على استكشاف نموذج CSS Box Model وخصائصه المختلفة بما في ذلك المنطقة المحتوى، الحشو، الحدود، الهامش، و Flexbox.

النموذج المربع لـ CSS (The CSS box model)

يعتبر نموذج CSS Box Model القاعدة الأساسية لتصميم واجهة الويب. يمثل كل عنصر في HTML صندوقاً في CSS، وهو ما يعرف بـ “الصندوق” أو الـ “Box”. هذا الصندوق يتألف من عدة أجزاء: المحتوى (Content)، الحشو (Padding)، الحدود (Border)، والهامش (Margin).

خصائص نموذج الصندوق في CSS (CSS box model properties)

هناك أربع خصائص رئيسية في نموذج CSS Box Model، هي:

  1. المحتوى (Content): هو الجزء الداخلي للصندوق حيث يكتب النص أو يتم وضع الصور.
  2. الحشو (Padding): هو المساحة التي تفصل المحتوى عن الحدود.
  3. الحدود (Border): هي الخط الذي يحيط المحتوى والحشو.
  4. الهامش (Margin): هو المساحة التي تحيط بالصندوق.

كل من هذه الخصائص لها دور مهم في تحديد مظهر وحجم وتوقع عناصر الويب.

المنطقة المحتوى في CSS (The content area in CSS)

تعتبر منطقة المحتوى أو الـ Content Area هي الجزء الأساسي من الصندوق، حيث يتم عرض المحتوى الفعلي، سواء كان نصاً أو صورة أو فيديو. يمكن تحديد حجم منطقة المحتوى بواسطة خصائص العرض (width) والارتفاع (height).

مثال:

CSS
div {
  width: 200px;
  height: 100px;
}

في المثال أعلاه، تم تحديد عرض وارتفاع منطقة المحتوى بقيم 200px و 100px على التوالي.

خاصية الحشو في CSS (CSS padding property)

الحشو أو Padding هو المساحة بين المحتوى (Content) والحدود (Border). يمكنك تحديد حجم الحشو باستخدام الخاصية padding في CSS. يمكنك تحديد الحشو لجميع الجوانب معاً، أو يمكنك تحديده لكل جانب على حدة (top, right, bottom, left).

مثال:

CSS
div {
  padding: 10px; /* الحشو لجميع الجوانب */
}

أو:

CSS
div {
  padding-top: 10px;
  padding-right: 15px;
  padding-bottom: 10px;
  padding-left: 15px;
}

في المثال الأول، تم تحديد الحشو بنفس القيمة لجميع الجوانب، بينما في الثاني تم تحديد قيم مختلفة لكل جانب.

خاصية الحدود في CSS (CSS border property)

تعتبر الحدود أو Border الجزء الذي يحيط المحتوى والحشو. يمكنك تحديد حجم الحدود، نوعها (متصلة، متقطعة، مزدوجة، وغيرها)، ولونها باستخدام خاصية border في CSS. كما مع الحشو، يمكنك تحديد الحدود لجميع الجوانب معاً، أو يمكنك تحديدها لكل جانب على حدة.

مثال:

CSS
div {
  border: 2px solid black; /* الحدود لجميع الجوانب */
}

أو:

CSS
div {
  border-top: 2px solid black;
  border-right: 1px dashed red;
  border-bottom: 2px solid black;
  border-left: 1px dashed red;
}

في المثال الأول، تم تحديد حدود بنفس القيمة لجميع الجوانب، بينما في الثاني تم تحديد قيم مختلفة لكل جانب.

خاصية الهامش في CSS (CSS margin property)

الهامش أو Margin هو المساحة التي تحيط بالصندوق كله، يمكنك استخدامه لإعطاء المسافة بين عنصر والعناصر المجاورة له. كما مع الحشو والحدود، يمكنك تحديد الهامش لجميع الجوانب معاً، أو يمكنك تحديده لكل جانب على حدة.

مثال:

CSS
div {
  margin: 20px; /* الهامش لجميع الجوانب */
}

أو:

CSS
div {
  margin-top: 20px;
  margin-right: 30px;
  margin-bottom: 20px;
  margin-left: 30px;
}

في المثال الأول، تم تحديد الهامش بنفس القيمة لجميع الجوانب، بينما في الثاني تم تحديد قيم مختلفة لكل جانب.

تطبيق خاصية الحشو في CSS (Applying CSS padding property)

لنطبق خاصية الحشو في العملي. قد تكون الخطوات بسيطة جدا ولكن الهدف منها هو توضيح الفكرة العملية. سنقوم بتطبيق خاصية الحشو على div مع النص.

CSS
<div>هذا هو المحتوى الخاص بي</div>

وهنا الأنماط CSS:

CSS
div {
  padding: 10px;
  background-color: #f5f5f5;
  border: 2px solid #333;
}

في الأمثلة السابقة، قمنا بتطبيق الحشو البالغ 10 بكسل لجميع الجوانب، ووضعنا لون خلفية وحدود لل div لتحقيق تأثير واضح.

تطبيق خاصية الحدود في CSS (Applying CSS border property)

دعونا ننفذ نفس الخطوات ولكن هذه المرة مع خاصية الحدود. بالنسبة لل div السابق، سنغير حجم الحدود ولونها.

CSS
div {
  padding: 10px;
  background-color: #f5f5f5;
  border: 4px dashed red;
}

هنا، قمنا بتحديد حدود بقيمة 4 بكسل واختيارنا لنوع الحدود هو “dashed” واللون هو الأحمر.

تطبيق خاصية الهامش في CSS (Applying CSS margin property)

وأخيرا، سنطبق خاصية الهامش على ال div.

CSS
div {
  padding: 10px;
  background-color: #f5f5f5;
  border: 4px dashed red;
  margin: 20px;
}

هنا، تم تحديد الهامش بقيمة 20 بكسل لجميع الجوانب، مما يضمن المسافة بين ال div والعناصر المحيطة به.

يمكنك التلاعب بتلك القيم حتى تحصل على التأثير المطلوب. يجدر بالذكر أن تفهم مفهوم CSS Box Model وكيفية تطبيقه سيمكنك من تقديم تصميمات واجهة ويب متطورة وجذابة.

Flexbox في CSS

Flexbox، أو مربعات المرونة، هو نموذج تخطيط جديد في CSS3 تم تصميمه خصيصًا لتوفير واجهة مستخدم مرنة وقابلة للتكيف. يتيح Flexbox توزيع المساحة ومحاذاة العناصر في حاوية، حتى عندما تكون أبعادها غير معروفة أو ديناميكية.

أكثر ما يميز Flexbox هو قدرته على التعامل مع الأبعاد غير النهائية بطريقة أكثر كفاءة من التقنيات الأخرى في CSS.

للبدء باستخدام Flexbox، عليك أولاً تحديد الحاوية كحاوية مرنة باستخدام خاصية display.

CSS
.container {
  display: flex;
}

بعد تحديد الحاوية كحاوية مرنة، سيكون لديك القدرة على استخدام العديد من الخصائص الأخرى المحددة لـ Flexbox، مثل flex-direction، justify-content، align-items وغيرها.

لنقدم مثالًا عمليًا بسيطًا لتوضيح كيفية استخدام Flexbox:

CSS
<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
</div>

وهنا الأنماط CSS:

CSS
.container {
  display: flex;
  justify-content: space-between;
}

.item {
  width: 50px;
  height: 50px;
  background-color: #f5f5f5;
  border: 2px solid #333;
  text-align: center;
  line-height: 50px;
}

في الأمثلة السابقة، قمنا بإعداد الحاوية كحاوية مرنة واستخدمنا خاصية justify-content لتوزيع العناصر على محور الخط الرئيسي.

أسئلة شائعة

ما هو نموذج الصندوق CSS؟

نموذج الصندوق في CSS هو مفهوم يُستخدم لتوصيف كيفية تصميم العناصر كمربعات وكيف تتعامل هذه المربعات مع المساحة حولها وبداخلها.

ما هي الخصائص الرئيسية في نموذج الصندوق CSS؟

الخصائص الرئيسية في نموذج الصندوق CSS هي: المحتوى، الحشو، الحدود والهامش.

ما هو الفرق بين الحشو والهامش في CSS؟

الحشو هو المساحة التي تقع بين الحدود والمحتوى، في حين أن الهامش هو المساحة التي تقع خارج الحدود.

ما هو Flexbox؟

Flexbox، أو مربعات المرونة، هو نموذج تخطيط جديد في CSS3 تم تصميمه خصيصًا لتوفير واجهة مستخدم مرنة وقابلة للتكيف.

كيف أستخدم Flexbox في CSS؟

لاستخدام Flexbox، يجب أولاً تحديد الحاوية كحاوية مرنة باستخدام الخاصية display: flex; بعدها يمكنك استخدام مجموعة من الخصائص الأخرى المحددة لـ Flexbox مثل flex-direction، justify-content، و align-items.

10 أوهام بصرية مدهشة

10 أوهام بصرية مدهشة

اكتشف 10 أوهام بصرية مدهشة وشعبية وكيف تخدع عقولنا لتروينا قصصاً ليست حقيقية عن العالم…
نموذج التصميم الأولي للتطبيقات المحمولة

نموذج التصميم الأولي للتطبيقات المحمولة

تعرف على أفضل الممارسات لبناء نماذج تفاعلية واقعية للتطبيق المحمول القادم باستخدام نماذج التصميم الأولية.
تنظيم ورش العمل التصميمية عن بُعد: الفوائد، التحديات، والأفضليات

تنظيم ورش العمل التصميمية عن بُعد: الفوائد، التحديات، والأفضليات

استكشف كيفية تنظيم ورش العمل التصميمية عن بُعد بكفاءة، الفوائد التي تقدمها، التحديات التي قد…