0Pricing
CSS Academy · درس

:nth-child و:nth-of-type

حدّد العناصر حسب موضعها داخل عنصر أب باستخدام صيغ nth ومحدّدات النوع

:nth-child و:nth-of-type درس مجاني في CSS Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CSS Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CSS Academy 4 دروس في المجموع.

ما الفئات الزائفة البنيوية؟

تحدد الفئات الزائفة البنيوية العناصر بناءً على موضعها داخل العنصر الأب. وهي تلغي الحاجة إلى إضافة فئات أو استخدام JavaScript لاستهداف عناصر فرعية محددة.

:first-child و:last-child

حدد العنصر الفرعي الأول أو الأخير للعنصر الأب:

<ul><li>First item (no top border)</li><li>Middle item</li><li>Last item (no bottom margin)</li></ul>

أساسيات :nth-child()

تحدد :nth-child(n) العناصر بناءً على موضعها، الذي يبدأ فهرسه من 1، بين العناصر الشقيقة من أي نوع.

<ul><li>Item one</li><li>Item two</li><li>Item three</li></ul>

:nth-child() باستخدام الكلمات المفتاحية

استخدم الكلمة المفتاحية odd أو even لتنسيق الصفوف بالتناوب:

<table><tr><td>Row 1</td></tr><tr><td>Row 2</td></tr><tr><td>Row 3</td></tr><tr><td>Row 4</td></tr></table>

:nth-child() باستخدام الصيغ

استخدم الصيغة An+B، حيث تمثل A الخطوة ويمثل B الإزاحة. تبدأ n من 0 وتزداد تدريجيًا.

  • 3n — كل عنصر ثالث (3، 6، 9...)
  • 3n+1 — الأول من كل ثلاثة (1، 4، 7...)
  • -n+3 — العناصر الثلاثة الأولى فقط
<ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li></ul>

:nth-of-type()

تعد :nth-of-type() العناصر الشقيقة من نوع العنصر نفسه فقط، وتتجاهل العناصر الأخرى. وهذا مهم عندما تختلط أنواع العناصر.

<h2>Heading</h2><p>First paragraph</p><p>Second paragraph (blue)</p><p>Third paragraph</p>

:first-of-type و:last-of-type

حدد أول عنصر أو آخر عنصر من نوع وسم معين بين العناصر الشقيقة:

<p>Lead paragraph (larger)</p><p>Regular paragraph</p>
<img src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='60'><rect width='100' height='60' fill='%231e90ff'/></svg>" alt="one" />
<img src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='60'><rect width='100' height='60' fill='%23ff6347'/></svg>" alt="two" />

:nth-child() مقابل :nth-of-type()

الفرق الأساسي:

  • p:nth-child(2) — يحدد العنصر الفرعي الثاني إذا كان من نوع <p>
  • p:nth-of-type(2) — يحدد عنصر <p> الثاني بغض النظر عن العناصر الأخرى

:only-child و:only-of-type

تحدد :only-child عنصرًا هو العنصر الفرعي الوحيد لعنصره الأب. وتحدد :only-of-type عنصرًا هو العنصر الوحيد من نوعه داخل العنصر الأب.

<div><p>I'm the only child in this div.</p></div>

:nth-child مع محدد of S (حديث)

يسمح CSS الحديث بتصفية العناصر التي تحسبها صيغة nth باستخدام :nth-child(An+B of selector):

<ul><li class="featured">Featured 1</li><li>Regular</li><li class="featured">Featured 2 (gold)</li><li class="featured">Featured 3</li></ul>

تطبيق عملي: فجوة الشبكة في الصف الأخير

أزل الهامش السفلي من آخر عنصر ظاهر:

<div class="grid"><div class="grid-item">1</div><div class="grid-item">2</div><div class="grid-item">3</div><div class="grid-item">4</div><div class="grid-item">5</div><div class="grid-item">6</div></div>

تحقق سريع

أي محدد يستهدف كل عنصر ثالث في قائمة بدءًا من العنصر الأول؟

مراجعة

تحسب :nth-child() جميع العناصر الشقيقة حسب موضعها، بينما تحسب :nth-of-type() العناصر الشقيقة من الوسم نفسه فقط. استخدم odd/even لإنشاء جداول مخططة بالتناوب. تتيح صيغة An+B إنشاء أنماط قوية مثل "كل عنصر ثالث" أو "العناصر الخمسة الأولى" من دون إضافة فئات.

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

هل درس «:nth-child و:nth-of-type» مجاني؟

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

ماذا ستتعلم في «:nth-child و:nth-of-type»؟

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

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

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

كم من الوقت يستغرق درس «:nth-child و:nth-of-type»؟

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

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

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

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

  1. :hover و:focus و:active و:visited
  2. :nth-child و:nth-of-type
  3. :not() و:is() و:where()
  4. :checked و:disabled وأصناف حالات النماذج الزائفة
← العودة إلى CSS Academy