0Pricing
HTML Academy · درس

عنصرا span وdiv

استخدم حاويات عامة مضمنة وكتلية كنقاط ربط للتنسيق

عنصرا span وdiv درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.

الحاويات العامة

تحتوي HTML على عنصرين عامين للحاويات، محايدين دلالياً:

  • <div> — حاوية على مستوى الكتلة
  • <span> — حاوية مضمّنة

لا يحمل هذان العنصران أي معنى بحد ذاتهما — فهما موجودان أساساً لتوفير نقاط ربط للتنسيق والبرمجة النصية.

عنصر div

يُعد <div> حاوية على مستوى الكتلة — إذ ينشئ سطراً جديداً قبله وبعده:

<div class="card">
  <h2>Card Title</h2>
  <p>Card content here.</p>
</div>

<div class="sidebar">
  <p>Sidebar content.</p>
</div>
<!-- div groups related elements for CSS layout or JavaScript selection -->

عنصر span

يُعد <span> حاوية مضمّنة — إذ يتدفق ضمن النص:

<p>The price is <span class="price">$29.99</span> per month.</p>

<p>Error: <span class="error-text" role="alert">Invalid email address</span></p>

<!-- span targets a part of text for styling or scripting
     without adding block-level line breaks -->

متى تستخدم div مقابل العناصر الدلالية

قبل اللجوء إلى <div>، تحقق مما إذا كان هناك عنصر دلالي مناسب:

  • رأس الصفحة → <header>
  • التنقل → <nav>
  • المحتوى الرئيسي → <main>
  • منشور مدونة → <article>
  • الشريط الجانبي → <aside>
  • تذييل الصفحة → <footer>

استخدم <div> فقط عندما لا ينطبق أي عنصر دلالي.

Divitis

Divitis — الإفراط في استخدام <div> لكل شيء:

<!-- Divitis: meaningless nesting -->
<div class="header">
  <div class="nav">
    <div class="nav-item"><a href="/">Home</a></div>
  </div>
</div>

<!-- Better: semantic HTML -->
<header>
  <nav>
    <a href="/">Home</a>
  </nav>
</header>

نقاط ربط CSS باستخدام class وid

يُستخدم كل من <div> و<span> مع سمتي class أو id لاستهدافهما في CSS:

<div class="hero-section">
  <h1>Welcome</h1>
  <p>Text with a <span class="highlight">highlighted phrase</span> inside.</p>
</div>

<!-- CSS: -->
<!--
.hero-section { background: #f0f4f8; padding: 2rem; }
.highlight { background-color: yellow; font-weight: bold; }
-->

الاستهداف باستخدام JavaScript

يُستهدف كل من <div> و<span> أيضاً باستخدام JavaScript:

<span id="counter">0</span>

<script>
  const counter = document.getElementById('counter');
  let count = 0;
  setInterval(() => {
    count++;
    counter.textContent = count;
  }, 1000);
</script>

قواعد التداخل

قواعد تداخل الحاويات العامة:

  • يمكن أن يحتوي <div> على <div> و<span>
  • لا يمكن أن يحتوي <span> إلا على <span> ومحتوى مضمّن
  • لا تضع <div> داخل <span>
<span>
  Inline text
  <span>Nested span OK</span>
  <!-- <div> inside span: INVALID -->
</span>

استخدام div للتخطيط

نمط شائع للتخطيط باستخدام div:

<div class="layout">
  <div class="sidebar"><!-- sidebar --></div>
  <div class="content"><!-- main content --></div>
</div>

<!-- CSS Grid layout: -->
<!--
.layout { display: grid; grid-template-columns: 250px 1fr; gap: 1rem; }
-->

استخدام span للتنسيق المضمّن

أنماط شائعة للتنسيق المضمّن:

<p>Status: <span class="badge badge-success">Active</span></p>

<p>Price: <span style="color: red; text-decoration: line-through;">$50</span>
        <span style="color: green; font-weight: bold;">$30</span></p>

div وspan غير مرئيين

يُعد كل من <div> و<span> افتراضياً غلافاً غير مرئي:

  • لا يضيف <div> أي تنسيق بصري يتجاوز عرضه كعنصر كتلي
  • لا يضيف <span> أي تنسيق على الإطلاق
  • يأتي كل المظهر من CSS التي تطبقها
  • وهذا ما يجعلهما حاويتين محايدتين مثاليتين

تحقق سريع

ما العنصر الذي ينبغي استخدامه لتنسيق كلمة واحدة داخل فقرة؟

مراجعة: span وdiv

أساسيات الحاويات العامة:

  • <div> — على مستوى الكتلة، ويجمع العناصر للتخطيط
  • <span> — مضمّن، ويستهدف أجزاء النص لتنسيقها
  • كلاهما محايد دلالياً — ولا يضيف أي معنى
  • فضّل عناصر HTML5 الدلالية عند ملاءمتها
  • استخدم class وid لربطهما بـ CSS وJavaScript

الأسئلة الشائعة

هل درس «عنصرا span وdiv» مجاني؟

نعم — نص درس «عنصرا span وdiv» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.

ماذا ستتعلم في «عنصرا span وdiv»؟

استخدم حاويات عامة مضمنة وكتلية كنقاط ربط للتنسيق تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟

لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «عنصرا span وdiv»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟

نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. العناوين h1-h6 وتسلسلها الهرمي
  2. الفقرات وem وstrong وb وi
  3. br وhr وblockquote وpre
  4. عنصرا span وdiv
← العودة إلى HTML Academy