The Code Fix

🟧 شرح HTML

الصناديق: Block و Inline و div و class و id

عناصر Block مقابل Inline

كل عنصر HTML يُعرض إمّا كـ block أو inline:

  • Block (كتلة): يبدأ سطرًا جديدًا ويأخذ كامل العرض المتاح. أمثلة: <div>, <p>, <h1>, <section>.
  • Inline (مضمّن): يأخذ فقط عرض محتواه ولا يبدأ سطرًا جديدًا. أمثلة: <span>, <a>, <strong>, <img>.
<p>هذه فقرة block.</p>
<p>هذه فقرة أخرى block (في سطر جديد).</p>

<span>هذا</span> <span>نص مضمّن</span> في نفس السطر.

العنصر <div> — صندوق block للتجميع

<div> حاوية block بلا معنى دلالي، نستخدمها لتجميع عناصر وتنسيقها معًا:

<div class="card">
  <h3>عنوان</h3>
  <p>محتوى البطاقة</p>
</div>

العنصر <span> — صندوق inline للتجميع

<span> حاوية inline بلا معنى، لتنسيق جزء من نص:

<p>السعر: <span class="price">99</span> ريال</p>

🔑 استخدم <div> و<span> فقط حين لا يوجد عنصر دلالي مناسب (راجع درس HTML الدلالي).

السمة class — قابلة لإعادة الاستخدام

class تُعطى لعدة عناصر، وتُستخدم للتنسيق بـ CSS أو الاختيار بـ JavaScript:

<p class="note">ملاحظة 1</p>
<p class="note">ملاحظة 2</p>
.note { color: orange; }

يمكن للعنصر أن يحمل عدة فئات:

<div class="card featured large">...</div>

السمة id — مُعرّف فريد

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

<h2 id="contact">تواصل معنا</h2>
<a href="#contact">اذهب للتواصل</a>

class مقابل id — الفرق الجوهري

classid
التكرارلعدة عناصرفريد (مرة واحدة)
الاستخدامتنسيق متكررعنصر محدّد، روابط داخلية

الأخطاء الشائعة

  • ❌ تكرار نفس id في الصفحة — يكسر JavaScript والروابط. استخدم class.
  • ❌ "Divitis": تغليف كل شيء بـ <div>. استخدم العناصر الدلالية حين تناسب.

خلاصة

block يأخذ سطرًا كاملًا وinline لا. <div>/<span> حاويات بلا معنى، وclass للتكرار وid للتفرّد.