ما CSS؟ وطرق ربطها بالصفحة
نتعرف على اللغة التي تعطي الصفحة ألوانها وشكلها، وثلاث طرق لكتابتها. ⏱ نحو 20 دقيقة.
- تشرح وظيفة
CSSوعلاقتها بـHTML. - تكتب قاعدة
CSSبأجزائها الثلاثة. - تفرّق بين
CSSالخارجي والداخلي والمضمّن، وتختار الخارجي. - تعرف من يفوز عند تعارض القواعد.
١CSS: لغة الشكل
HTML تقول «هذا عنوان، وهذا رابط»، و CSS تقول «العنوان بنّي، والرابط زر برتقالي». المحتوى نفسه، والشكل مختلف تمامًا. انتقل بين التبويبين لترى الملفين:
<h1>مقهى بُنّ</h1><p>قهوة مختصة تُحمَّص كل صباح.</p><a href="#">اطلب الآن</a>
body { background-color: #FFF8F0; font-family: Tahoma, sans-serif;}h1 { color: #3B2A1A;}a { background-color: #E07A1F; color: white; padding: 6px 14px; border-radius: 20px; text-decoration: none;}
جرّب: اضغط «✏️ جرّب وعدّل»، وافتح تبويب style.css، وغيّر #E07A1F إلى green.
٢شكل القاعدة
كل ملف CSS مجموعة قواعد، وكل قاعدة لها ثلاثة أجزاء:
| الجزء | معناه |
|---|---|
| المحدِّد | أي العناصر نريد تنسيقها؟ هنا كل <h1>. |
| الخاصية | ماذا نغيّر؟ اللون، أو الحجم، أو الخلفية… |
| القيمة | إلى ماذا نغيّره؟ |
داخل القوسين نكتب ما نشاء من الخصائص، وننهي كل سطر بفاصلة منقوطة ;. والتعليق في CSS يُكتب هكذا: /* ملاحظة */.
٣ثلاث طرق لإضافة CSS
| الطريقة | كيف؟ | متى؟ |
|---|---|---|
| خارجي (الأفضل) | ملف style.css مستقل، نربطه في head بـ <link>. | دائمًا تقريبًا: ملف واحد ينسّق كل صفحات الموقع. |
| داخلي | وسم <style> داخل head الصفحة. | لصفحة واحدة، أو للتجربة السريعة. |
| مضمّن | سمة style على العنصر نفسه. | نادرًا: لتعديل عنصر واحد فقط. |
<!DOCTYPE html><html lang="ar" dir="rtl"><head> <meta charset="UTF-8"> <title>مقهى بُنّ</title> <link rel="stylesheet" href="style.css"> <style> p { color: gray; } </style></head><body> <h1>مقهى بُنّ</h1> <p>فقرة رمادية (من style الداخلي).</p> <p style="color: red;">فقرة حمراء (مضمّن).</p></body></html>
h1 { color: #3B2A1A; border-bottom: 3px solid #E07A1F;}
الطريقة الخارجية تفصل المحتوى عن الشكل: لو أردت تغيير لون الموقع كله، تعدّل سطرًا واحدًا في ملف واحد.
٤من يفوز إذا تعارضت القواعد؟
في المثال السابق: القاعدة الداخلية تقول «الفقرات رمادية»، والسمة المضمّنة تقول «هذه الفقرة حمراء». فازت الحمراء. القاعدة التقريبية:
- المضمّن (style على العنصر) أقوى من غيره.
- إذا تساوت القوة: الأخير يفوز. القاعدة المكتوبة لاحقًا تغلب السابقة.
- المحدِّد الأدق أقوى (تفاصيله في الدرس القادم).
هذا معنى كلمة Cascading في اسم CSS (أوراق الأنماط المتتالية): القواعد تتراكم، والأقوى أو الأخير يفوز.
٥أين أكتب CSS في VS Code؟
- في مجلد موقعك أنشئ ملفًّا جديدًا اسمه style.css بجانب index.html.
- في head كل صفحة أضف:
<link rel="stylesheet" href="style.css">. - اكتب القواعد في style.css واحفظ، ثم حدّث الصفحة في المتصفح.
- إن لم يتغير شيء: تأكد من اسم الملف ومساره في href.
توقّع وتحقّق
ما وظيفة CSS؟
HTML للمحتوى، و CSS للشكل.في القاعدة h1 { color: blue; } ما المحدِّد؟
أفضل طريقة لتنسيق موقع من 10 صفحات:
قاعدتان متساويتان تعطيان لونين مختلفين. أيهما تفوز؟
الخلاصة
CSSتحدد الشكل، وHTMLالمحتوى.- القاعدة: محدِّد ثم خصائص وقيم بين قوسين، مثل
h1 { color: blue; }. - الخارجي (
linkإلىstyle.css) هو الأفضل، والداخليstyle، والمضمّن سمةstyle. - عند التعارض: المضمّن أقوى، والأخير يفوز عند التساوي.
تحدٍّ برمجي: أول ملف تنسيق
سهلنسّق صفحة مقهى «بُنّ» بملف style.css. الصفحة جاهزة ومربوطة بالملف؛ اكتب القواعد في تبويب style.css.
- خلفية الصفحة body بلون فاتح: #FFF8F0
- لون العنوان h1 بنّي: #3B2A1A
- لون الفقرات p رمادي غامق: #555555
- حجم خط الفقرات 18px (الخاصية
font-size).
👀 اعرض شكل الناتج المطلوب
- خلفية body هي #FFF8F0.
- لون h1 هو #3B2A1A.
- لون الفقرات #555555.
- حجم خط الفقرات 18px.
💡 تلميح 1
background-color: #FFF8F0; }💡 تلميح 2
font-size.حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.
<!DOCTYPE html><html lang="ar" dir="rtl"><head> <meta charset="UTF-8"> <title>بُنّ</title> <link rel="stylesheet" href="style.css"></head><body> <h1>مقهى بُنّ</h1> <p>قهوة مختصة تُحمَّص كل صباح.</p> <p>نفتح من 7 صباحًا حتى 11 مساءً.</p></body></html>
body { background-color: #FFF8F0;}h1 { color: #3B2A1A;}p { color: #555555; font-size: 18px;}