البرمجة

أساسيات CSS للمبتدئين

جدول المحتوى

أساسيات لغة CSS: دليل شامل وموسع

تُعد لغة CSS (Cascading Style Sheets) من الركائز الأساسية في تطوير وتصميم صفحات الويب، فهي المسؤولة عن التحكم في مظهر وتنسيق المحتوى الذي يتم عرضه عبر متصفحات الإنترنت. مع التطور المستمر لعالم الويب، أصبحت CSS أداة لا غنى عنها لكل مطور ومصمم يسعى إلى تقديم تجربة مستخدم متميزة من خلال صفحات أنيقة وسهلة التصفح. في هذا المقال، سنغوص عميقًا في أساسيات CSS، مع شرح مفصل لجميع المفاهيم الرئيسية، والمبادئ الأساسية، والتقنيات المهمة التي تساعد على فهم واستخدام هذه اللغة بكفاءة عالية.


مفهوم CSS ودورها في تطوير الويب

CSS هي لغة تصميم تُستخدم لوصف كيفية عرض وثائق HTML أو XML على الشاشة أو في الطباعة أو على أي وسائط أخرى. بينما تركز لغة HTML على هيكلة المحتوى، تأتي CSS لتحدد مظهر هذا المحتوى، مثل الألوان، الخطوط، التخطيطات، والمسافات بين العناصر.

تم تقديم CSS لأول مرة عام 1996 من قبل منظمة W3C بهدف فصل تصميم الصفحات عن محتواها، مما يسهل عملية الصيانة والتطوير، ويتيح للمصممين والمطورين التحكم الكامل في تفاصيل عرض الموقع دون الحاجة لتكرار الأكواد.


تركيب لغة CSS

يتكون ملف CSS من قواعد (Rules)، كل قاعدة تتضمن محدد (Selector) وإعلان (Declaration). الشكل العام للقواعد هو كما يلي:

css
selector { property: value; property: value; }
  • المحدد (Selector): هو العنصر أو مجموعة العناصر التي نريد تطبيق التنسيق عليها.

  • الإعلان (Declaration): يحتوي على خاصية (property) وقيمة (value) تحدد التنسيق المطلوب.


أنواع محددات CSS (Selectors)

تُستخدم المحددات لاختيار العناصر التي سيتم تطبيق التنسيقات عليها. تختلف أنواعها بحسب الدقة والنطاق، وأشهرها:

1. محدد العناصر (Type Selector)

يستهدف عنصر HTML معينًا، مثلاً:

css
p { color: blue; }

يطبق اللون الأزرق على جميع الفقرات

.

2. محدد المعرف (ID Selector)

يستخدم لاختيار عنصر واحد معرف بمعرف فريد داخل الصفحة، ويُشار إليه بـ #:

css
#header { background-color: #f0f0f0; }

3. محدد الصنف (Class Selector)

يختار مجموعة من العناصر التي تشترك في نفس الصنف باستخدام نقطة .:

css
.button { padding: 10px 20px; background-color: green; }

4. محدد المجموعة (Group Selector)

يمكن تطبيق نفس التنسيقات على عدة محددات في آن واحد باستخدام الفاصلة:

css
h1, h2, h3 { font-family: Arial, sans-serif; }

5. محدد التوابع (Descendant Selector)

يختار العناصر التي تكون داخل عنصر معين، مثل:

css
div p { margin: 10px; }

الخصائص الأساسية في CSS

يتم التحكم في مظهر العناصر باستخدام خصائص CSS، وتتنوع هذه الخصائص بحسب نوع التنسيق المرغوب. فيما يلي أبرز الخصائص الأساسية:

1. التحكم في الألوان (Colors)

  • color: لتحديد لون النص.

  • background-color: لتحديد لون خلفية العنصر.

2. التحكم في الخطوط (Fonts)

  • font-family: تحديد نوع الخط.

  • font-size: حجم الخط.

  • font-weight: وزن الخط مثل عادي، غامق (bold).

  • font-style: نمط الخط مثل مائل (italic).

3. التحكم في التخطيط والمساحات (Box Model)

تعتبر خصائص الصندوق (Box Model) من أهم مفاهيم CSS التي تتحكم في حجم وشكل العناصر عبر:

  • margin: المسافة الخارجية بين العنصر والعناصر الأخرى.

  • border: حدود العنصر.

  • padding: المسافة الداخلية بين محتوى العنصر وحدوده.

  • width و height: عرض وارتفاع العنصر.

4. التحكم في الترصيف (Layout)

  • display: يحدد كيفية عرض العنصر (block, inline, flex, grid).

  • position: لتحديد موضع العنصر (static, relative, absolute, fixed).

  • top, bottom, left, right: تحديد مواقع العنصر بالنسبة للحاوية.

  • float: يجعل العنصر يطفو إلى اليسار أو اليمين.

  • clear: تنظيف العناصر المطفوة.

5. التحكم في النص (Text)

  • text-align: ضبط محاذاة النص (يمين، يسار، وسط).

  • text-decoration: مثل التسطير أو الشطب.

  • line-height: ارتفاع السطر.

  • letter-spacing: التباعد بين الحروف.


نموذج الصندوق في CSS (Box Model)

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

  1. المحتوى (Content): النص أو الصور داخل العنصر.

  2. الحشوة (Padding): المسافة بين المحتوى وحدود العنصر.

  3. الحدود (Border): الخط المحيط بالعنصر.

  4. الهوامش (Margin): المسافة بين العنصر والعناصر المحيطة به.

فهم هذا النموذج ضروري للتحكم في المساحات والتخطيط العام للصفحة، كما يؤثر على أبعاد العناصر وتفاعلها مع بعضها البعض.


طرق ربط CSS مع HTML

يمكن استخدام CSS بعدة طرق لربطها مع صفحات HTML:

1. التنسيق الداخلي (Internal CSS)

يتم وضع كود CSS داخل وسم