مقدمة
بعد أن تتعلم HTML وتفهم كيف يتم بناء صفحات الويب، تأتي الخطوة التالية وهي تعلم CSS. إذا كانت HTML هي هيكل الصفحة، فإن CSS هي ما يجعل هذا الهيكل جميلًا ومنظمًا واحترافيًا.
بدون CSS ستكون صفحات الويب بسيطة جدًا ومليئة بنصوص بدون تنسيق، بينما باستخدام CSS يمكنك تحويل صفحة عادية إلى موقع جذاب يشبه المواقع الاحترافية.
CSS هي اختصار لـ:
Cascading Style Sheets
وتعني “أوراق الأنماط المتتالية”.
في هذا الدليل سنأخذك خطوة خطوة من الصفر، حتى تفهم كيف تعمل CSS وكيف تستخدمها لبناء تصميمات جميلة واحترافية.
الفصل الأول: ما هي CSS ولماذا نستخدمها؟
تعريف CSS
CSS هي لغة تستخدم لتنسيق صفحات الويب المكتوبة بـ HTML.
ماذا تعني كلمة “تنسيق”؟
التنسيق يعني:
- تغيير الألوان
- التحكم في الخطوط
- تحديد الأحجام
- ترتيب العناصر
- إضافة مسافات
- تصميم الشكل العام للموقع
مثال بدون CSS:
<h1>مرحبا</h1>
<p>هذا موقع بسيط</p>
سيظهر النص بشكل عادي جدًا.
مثال مع CSS:
<h1 style="color: blue;">مرحبا</h1>
<p style="font-size: 20px;">هذا موقع جميل</p>
هنا لاحظت الفرق:
- اللون تغير
- حجم الخط تغير
لكن استخدام style ليس الطريقة الاحترافية.
الفصل الثاني: طرق إضافة CSS إلى HTML
هناك 3 طرق رئيسية لاستخدام CSS:
1. CSS داخل العنصر (Inline CSS)
<p style="color: red;">نص باللون الأحمر</p>
عيوبه:
- غير منظم
- صعب التحكم في المواقع الكبيرة
2. CSS داخل الصفحة (Internal CSS)
<head>
<style>
p {
color: green;
}
</style>
</head>
ميزته:
- مناسب للمشاريع الصغيرة
3. CSS خارجي (External CSS) ⭐ الأفضل
ملف HTML:
<link rel="stylesheet" href="style.css">
ملف CSS:
p {
color: blue;
}
ميزته:
- منظم
- احترافي
- يستخدم في جميع المواقع الكبيرة
الفصل الثالث: أول كود CSS حقيقي
body {
background-color: lightgray;
}
h1 {
color: blue;
}
p {
color: black;
}
ماذا يحدث هنا؟
- خلفية الصفحة تصبح رمادية
- العناوين تصبح زرقاء
- الفقرات تصبح سوداء
الفصل الرابع: أساسيات CSS (Selectors)
ما هو الـ Selector؟
هو الطريقة التي نختار بها العناصر من HTML لتطبيق التنسيق عليها.
1. Selector العنصر
p {
color: red;
}
يعني: كل الفقرات في الصفحة تصبح حمراء.
2. Selector الكلاس (class)
HTML:
<p class="text">مرحبا</p>
CSS:
.text {
color: green;
}
3. Selector الـ ID
HTML:
<p id="intro">نص مهم</p>
CSS:
#intro {
color: blue;
}
الفرق بين class و id:
| النوع | الاستخدام |
|---|---|
| class | يستخدم لعدة عناصر |
| id | يستخدم لعنصر واحد فقط |
الفصل الخامس: الألوان في CSS
CSS يدعم عدة طرق لتحديد الألوان:
1. اسم اللون
h1 {
color: red;
}
2. HEX
h1 {
color: #ff0000;
}
3. RGB
h1 {
color: rgb(255, 0, 0);
}
4. RGBA (مع الشفافية)
h1 {
color: rgba(255, 0, 0, 0.5);
}
الفصل السادس: الخطوط (Fonts)
تغيير نوع الخط:
p {
font-family: Arial;
}
حجم الخط:
p {
font-size: 20px;
}
سمك الخط:
p {
font-weight: bold;
}
محاذاة النص:
p {
text-align: center;
}
الفصل السابع: الخلفيات (Background)
لون الخلفية:
body {
background-color: lightblue;
}
صورة خلفية:
body {
background-image: url("bg.jpg");
}
التحكم في الصورة:
body {
background-size: cover;
background-repeat: no-repeat;
}
الفصل الثامن: الصناديق (Box Model) ⭐ مهم جدًا
كل عنصر في CSS يُعتبر “صندوق”.
يتكون من:
- المحتوى (Content)
- الحشو (Padding)
- الحدود (Border)
- الهامش (Margin)
مثال:
div {
width: 200px;
padding: 20px;
border: 2px solid black;
margin: 10px;
}
شرح بسيط:
- padding = مسافة داخلية
- margin = مسافة خارجية
- border = إطار حول العنصر
الفصل التاسع: الحدود (Borders)
div {
border: 2px solid black;
}
أنواع الحدود:
- solid (خط مستقيم)
- dotted (نقاط)
- dashed (خط متقطع)
الفصل العاشر: المسافات (Margin & Padding)
Margin:
div {
margin: 20px;
}
Padding:
div {
padding: 20px;
}
الفرق المهم:
- Margin: يبعد العنصر عن غيره
- Padding: يبعد المحتوى عن حواف العنصر
الفصل الحادي عشر: العرض والارتفاع
div {
width: 300px;
height: 200px;
}
الفصل الثاني عشر: display في CSS
1. block
div {
display: block;
}
يأخذ كامل العرض
2. inline
span {
display: inline;
}
يأخذ مساحة المحتوى فقط
3. inline-block
يجمع بين الاثنين
الفصل الثالث عشر: Flexbox (مقدمة بسيطة)
Flexbox يساعدك على ترتيب العناصر بسهولة.
مثال:
.container {
display: flex;
}
توسيط العناصر:
.container {
display: flex;
justify-content: center;
align-items: center;
}
الفصل الرابع عشر: Hover (التفاعل)
button:hover {
background-color: blue;
color: white;
}
عند مرور الماوس يتغير الشكل
الفصل الخامس عشر: الانتقالات (Transition)
button {
transition: 0.3s;
}
مثال كامل:
button:hover {
transform: scale(1.1);
}
الفصل السادس عشر: Position في CSS
الأنواع:
1. static (افتراضي)
2. relative
div {
position: relative;
top: 10px;
}
3. absolute
div {
position: absolute;
top: 50px;
}
4. fixed
يبقى ثابت عند التمرير
الفصل السابع عشر: Responsive Design (التصميم المتجاوب)
مهم جدًا للموبايل
@media (max-width: 768px) {
body {
background-color: lightgreen;
}
}
الفصل الثامن عشر: أهم أخطاء المبتدئين
- استخدام CSS داخل HTML بكثرة
- عدم فهم box model
- تجاهل responsive design
- عدم تنظيم الكود
- استخدام قيم عشوائية
الفصل التاسع عشر: مشروع بسيط بـ CSS
HTML:
<div class="box">
مرحبا بك في موقعي
</div>
CSS:
.box {
width: 300px;
padding: 20px;
margin: 50px auto;
background-color: blue;
color: white;
text-align: center;
border-radius: 10px;
}
الفصل العشرون: كيف تتعلم CSS بسرعة؟
- طبق يوميًا
- صمم صفحات بسيطة
- حاول تقليد مواقع حقيقية
- تعلم Flexbox و Grid
- لا تحفظ، بل افهم
الفصل الحادي والعشرون: أدوات تساعدك
- VS Code
- Google Chrome DevTools
- CodePen
- MDN Web Docs
خاتمة
CSS هي المرحلة التي تحول صفحات HTML من شكل بسيط إلى مواقع احترافية جميلة. بدون CSS، الإنترنت سيكون مجرد نصوص مملة.
لكن مع CSS يمكنك:
- تصميم مواقع جميلة
- تحسين تجربة المستخدم
- بناء واجهات احترافية
رحلة تعلم CSS تحتاج صبر وتطبيق، وليس حفظ فقط.
إذا استمريت في التعلم، ستصبح قادرًا على تصميم مواقع كاملة خلال وقت قصير جدًا.