العربية

أتقن فئات CSS الزائفة الموضعية مثل :first-child، :last-child، :nth-child() والمزيد لتحقيق تصميم متقدم وديناميكي لمشاريع الويب الخاصة بك. عزز قدرتك على تحديد العناصر وأنشئ واجهات مستخدم جذابة بصريًا بسهولة.

فئات CSS الزائفة الموضعية: تحديد متقدم للعناصر لتصميم ديناميكي

توفر فئات CSS الزائفة الموضعية طريقة قوية لاستهداف وتصميم العناصر بناءً على موقعها داخل شجرة المستند. تتيح لك هذه المحددات تطبيق أنماط محددة على العنصر الأول أو الأخير أو العنصر n-th، مما يفتح إمكانيات لإنشاء واجهات ويب ديناميكية وجذابة بصريًا. سيتعمق هذا الدليل في عالم الفئات الزائفة الموضعية، ويقدم أمثلة عملية وحالات استخدام لتعزيز مهاراتك في CSS.

فهم فئات CSS الزائفة

قبل الغوص في الفئات الزائفة الموضعية، دعنا نراجع بإيجاز ما هي الفئات الزائفة في CSS. الفئات الزائفة هي كلمات رئيسية تُضاف إلى المحددات لتحديد حالة خاصة للعنصر (أو العناصر) المحددة. تسمح لك بتصميم العناصر بناءً على عوامل أخرى غير اسمها أو سماتها أو محتواها؛ بل هي تصمم بناءً على موقعها أو حالتها أو معايير ديناميكية أخرى. على سبيل المثال، تطبق الفئة الزائفة :hover الأنماط عندما يمرر المستخدم فأرته فوق عنصر ما.

مقدمة إلى الفئات الزائفة الموضعية

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

الفئات الزائفة الموضعية الرئيسية

1. :first-child

تحدد الفئة الزائفة :first-child العنصر الابن الأول داخل عنصره الأصلي. هذا مفيد لتطبيق أنماط محددة على العنصر الأول في قائمة، أو الصف الأول في جدول، أو أي سيناريو آخر ترغب فيه في إبراز العنصر الأولي.

مثال: تصميم أول عنصر في قائمة التنقل.

nav ul li:first-child {
  font-weight: bold;
  color: #007bff;
}

سيجعل كود CSS هذا أول عنصر في قائمة <ul> الموجودة داخل عنصر <nav> عريضًا وأزرق اللون.

تطبيق عملي: تخيل موقعًا للتجارة الإلكترونية. يمكنك استخدام :first-child لتسليط الضوء بصريًا على المنتج الأول في قسم المنتجات المميزة.

2. :last-child

على العكس، تحدد الفئة الزائفة :last-child العنصر الابن الأخير داخل عنصره الأصلي. هذا مثالي لإضافة حد أو هامش لجميع العناصر باستثناء العنصر الأخير، أو لتطبيق نمط معين على العنصر النهائي في سلسلة.

مثال: إزالة الحد السفلي من آخر عنصر في قائمة.

ul li {
  border-bottom: 1px solid #ccc;
}

ul li:last-child {
  border-bottom: none;
}

سيضيف كود CSS هذا حدًا سفليًا لجميع عناصر القائمة باستثناء العنصر الأخير، مما يخلق فصلًا بصريًا نظيفًا بدون حد إضافي في الأسفل.

تطبيق عملي: في نموذج اتصال، قد تستخدم :last-child لإزالة الهامش السفلي من آخر حقل إدخال قبل زر الإرسال.

3. :nth-child(n)

الفئة الزائفة :nth-child(n) هي محدد أكثر تنوعًا يسمح لك باستهداف العناصر بناءً على موقعها الرقمي داخل العنصر الأصلي. يمثل n رقمًا أو كلمة رئيسية (even أو odd) أو صيغة.

مثال: تصميم صفوف الجدول بالتناوب.

table tr:nth-child(even) {
  background-color: #f2f2f2;
}

سيطبق كود CSS هذا خلفية رمادية فاتحة على كل صف زوجي في الجدول، مما يحسن من قابلية القراءة.

مثال: تحديد الابن الثالث.

div p:nth-child(3) {
  color: green;
}

سيجعل كود CSS هذا الفقرة الثالثة داخل عنصر <div> خضراء اللون.

مثال: استخدام صيغة لتحديد كل ابن ثالث.

ul li:nth-child(3n) {
  font-style: italic;
}

سيطبق كود CSS هذا نمطًا مائلًا على كل عنصر ثالث في القائمة.

تطبيق عملي: على موقع إخباري، يمكنك استخدام :nth-child(n) لتصميم كل مقال ثالث بشكل مختلف، مما يخلق تنوعًا بصريًا ويسلط الضوء على محتوى معين.

4. :nth-of-type(n)

الفئة الزائفة :nth-of-type(n) تشبه :nth-child(n)، لكنها تستهدف العناصر بناءً على نوعها داخل العنصر الأصلي. هذا يعني أنها تأخذ في الاعتبار فقط العناصر من نفس النوع عند العد.

مثال: تصميم الفقرة الثانية داخل div.

div p:nth-of-type(2) {
  font-size: 1.2em;
}

سيزيد كود CSS هذا من حجم خط الفقرة الثانية داخل عنصر <div>. سيتجاهل أي أنواع عناصر أخرى داخل div عند العد.

تطبيق عملي: في منشور مدونة، قد تستخدم :nth-of-type(n) لتصميم كل صورة ثانية بشكل مختلف، بغض النظر عن وجود عناصر أخرى مثل الفقرات أو العناوين.

5. :first-of-type

تحدد الفئة الزائفة :first-of-type العنصر الأول من نوعه داخل عنصره الأصلي. هذا مفيد لتصميم الفقرة الأولى، أو الصورة الأولى، أو أي نوع عنصر محدد آخر داخل حاوية.

مثال: تصميم الصورة الأولى داخل مقال.

article img:first-of-type {
  float: left;
  margin-right: 10px;
}

سيجعل كود CSS هذا الصورة الأولى في عنصر <article> تطفو إلى اليسار ويضيف هامشًا إلى يمينها.

تطبيق عملي: في صفحة وصف المنتج، قد تستخدم :first-of-type لعرض صورة المنتج الرئيسية بشكل بارز.

6. :last-of-type

تحدد الفئة الزائفة :last-of-type العنصر الأخير من نوعه داخل عنصره الأصلي. هذا هو النظير لـ :first-of-type ويستخدم لتصميم العنصر النهائي من نوع معين داخل حاوية.

مثال: تصميم الفقرة الأخيرة في قسم.

section p:last-of-type {
  margin-bottom: 0;
}

يزيل كود CSS هذا الهامش السفلي من آخر فقرة داخل عنصر <section>.

تطبيق عملي: في منشور مدونة، قد تستخدم :last-of-type لإزالة الهامش السفلي من الفقرة الختامية، مما يخلق نهاية بصرية أنظف.

حالات استخدام وأمثلة من العالم الحقيقي

دعنا نستكشف بعض الأمثلة الأكثر تعقيدًا وعملية التي توضح كيف يمكن استخدام الفئات الزائفة الموضعية في سيناريوهات العالم الحقيقي.

1. تصميم قائمة التنقل

قوائم التنقل هي عنصر شائع في مواقع الويب، ويمكن استخدام الفئات الزائفة الموضعية لتحسين مظهرها.


<nav>
  <ul>
    <li><a href="#home">الرئيسية</a></li>
    <li><a href="#about">حول</a></li>
    <li><a href="#services">الخدمات</a></li>
    <li><a href="#contact">اتصل بنا</a></li>
  </ul>
</nav>
nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}

nav ul li {
  margin-right: 20px;
}

nav ul li:first-child {
  font-weight: bold;
}

nav ul li:last-child {
  margin-right: 0;
}

يصمم هذا الكود قائمة التنقل لتكون أفقية، ويزيل علامات التعداد النقطي، ويجعل العنصر الأول عريضًا. كما أنه يزيل الهامش الأيمن من العنصر الأخير، مما يضمن تباعدًا مناسبًا.

2. تصميم قائمة المنتجات

غالبًا ما تعرض مواقع التجارة الإلكترونية المنتجات في تنسيق شبكي أو قائمة. يمكن استخدام الفئات الزائفة الموضعية لإنشاء قوائم منتجات جذابة بصريًا.


<div class="product-list">
  <div class="product"><img src="product1.jpg" alt="منتج 1"><p>وصف المنتج 1</p></div>
  <div class="product"><img src="product2.jpg" alt="منتج 2"><p>وصف المنتج 2</p></div>
  <div class="product"><img src="product3.jpg" alt="منتج 3"><p>وصف المنتج 3</p></div>
  <div class="product"><img src="product4.jpg" alt="منتج 4"><p>وصف المنتج 4</p></div>
</div>

.product-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.product {
  border: 1px solid #ccc;
  padding: 10px;
}

.product:nth-child(odd) {
  background-color: #f9f9f9;
}

يعرض هذا الكود المنتجات في شبكة من عمودين ويضيف حدًا لكل منتج. كما أنه يطبق خلفية رمادية فاتحة على كل منتج فردي، مما يحسن التمييز البصري.

3. تصميم جدول

تُستخدم الجداول بشكل شائع لعرض البيانات المجدولة. يمكن للفئات الزائفة الموضعية تحسين قابلية قراءة الجداول ومظهرها.


<table>
  <thead>
    <tr>
      <th>الاسم</th>
      <th>العمر</th>
      <th>البلد</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>جون دو</td>
      <td>30</td>
      <td>الولايات المتحدة</td>
    </tr>
    <tr>
      <td>جين سميث</td>
      <td>25</td>
      <td>كندا</td>
    </tr>
    <tr>
      <td>ديفيد لي</td>
      <td>40</td>
      <td>المملكة المتحدة</td>
    </tr>
  </tbody>
</table>

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: left;
}

thead {
  background-color: #f2f2f2;
}

tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

يصمم هذا الكود الجدول بحدود وحشو وألوان صفوف متناوبة لتحسين قابلية القراءة.

دمج الفئات الزائفة الموضعية مع محددات أخرى

يمكن دمج الفئات الزائفة الموضعية مع محددات CSS أخرى لإنشاء قواعد تصميم أكثر تحديدًا وقوة. على سبيل المثال، يمكنك دمج فئة زائفة موضعية مع محدد فئة أو محدد سمة.

مثال: تصميم العنصر الأول الذي له فئة معينة.

ul li.highlight:first-child {
  color: red;
}

سيطبق كود CSS هذا اللون الأحمر فقط على عنصر القائمة الأول الذي يحتوي أيضًا على الفئة "highlight".

توافق المتصفحات

الفئات الزائفة الموضعية مدعومة على نطاق واسع من قبل متصفحات الويب الحديثة، بما في ذلك Chrome و Firefox و Safari و Edge و Opera. ومع ذلك، من الممارسات الجيدة دائمًا اختبار كود CSS الخاص بك في متصفحات مختلفة لضمان عرض متسق.

أفضل الممارسات والاعتبارات

الخلاصة

تعد فئات CSS الزائفة الموضعية أداة قيمة لمطوري الويب، حيث تسمح بتحديد متقدم للعناصر وتصميم ديناميكي. من خلال إتقان هذه المحددات، يمكنك إنشاء واجهات ويب جذابة بصريًا وسهلة الاستخدام تتكيف مع هياكل المحتوى المختلفة. جرب الأمثلة المقدمة في هذا الدليل واستكشف الإمكانيات التي لا نهاية لها للفئات الزائفة الموضعية في مشاريع الويب الخاصة بك.

يوفر هذا الدليل الشامل أساسًا متينًا لفهم واستخدام فئات CSS الزائفة الموضعية. مع استمرارك في التعلم والتجربة، ستكتشف طرقًا أكثر إبداعًا لتعزيز مهاراتك في تطوير الويب وإنشاء تجارب مستخدم استثنائية.

للمزيد من التعلم

لتعميق فهمك لفئات CSS الزائفة الموضعية، فكر في استكشاف الموارد التالية:

نتمنى لك تصميمًا سعيدًا!