الفئات الزائفة Pseudo-classes


ما هي الفئات الزائفة Pseudo-classes ؟

تسمح لنا الفئات الزائفة pseudo-classes بتصميم الحالات الديناميكية لعنصر مثل التمرير hover والحالة النشطة active والتركيز focus ، بالإضافة إلى العناصر الموجودة في شجرة المستند ولكن لا يمكن استهدافها عبر استخدام محددات أخرى دون إضافة معرفات أو فئات لأي منها ، على سبيل المثال ، استهداف العناصر الأبناء الأولى أو الأخيرة لعنصر ما.
تبدأ الفئة الزائفة بنقطتين (:). ويكون بناء الجملة لمحددات الفئات الزائفة بالشكل التالي:

بناء الجملة
  1. selector:pseudo-class { property: value };

في هذا الدرس سوف نتعلم الفئات الزائفة الأكثر إستخداما.


الفئات الزائفة للرابط التشعبي

تتيح لنا الفئات الزائفة لعنصر الرابط التشعبي <a> تصميم الروابط بشكل مختلف حسب حالة الرابط . في المثال التالي سنقوم بإزالة التسطير الافتراضي من الرابط التشعبي للروابط التي لم يسبق لنا زيارتها والروابط التي تمت زيارتها.

مثال
تشغيل
  1. a:link , a:visited {
  2. color: #1db79f;
  3. text-decoration: none;
  4. }

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

مثال
تشغيل
  1. a:hover , a:active {
  2. color: #116e60;
  3. text-decoration: underline;
  4. }
  5. a:focus {
  6. color: red;
  7. }

تعمل هذه الفئات الزائفة على تغيير كيفية عرض الروابط استجابةً لإجراءات المستخدم.

  • :hover يتم تطبيقها عندما يضع المستخدم المؤشر فوق العنصر ، لكنه لا يحدده.
  • :active يتم تطبيقها عند تنشيط العنصر أو النقر فوقه.
  • :focus يتم تطبيقها عندما يكون العنصر به تركيز لوحة المفاتيح او النقر بزر الفأرة مطولا .
ملاحظة:

لجعل هذه الفئات الزائفة تعمل بشكل مثالي ، يجب علينا تحديدها بالترتيب التالي -:

  • :link
  • :visited
  • :hover
  • :active
  • :focus


first-child:

تطابق الفئة الزائفة :first-child العنصر الأبن الأول لعنصر آخر. المحدد ol li:first-child في المثال أدناه سيحدد البند الأول من القائمة المرتبة وسيزيل الحد العلوي منه.

مثال
تشغيل
  1. ol li:first-child {
  2. border-top: none;
  3. }

last-child:

تطابق الفئة الزائفة :last-child العنصر الإبن الأخير في عنصر آخر. المحدد ul li:last-child في المثال أدناه سيحدد آخر بند في القائمة الغير مرتبة وسيقوم بإزالة الحد الأيسر منه.

مثال
تشغيل
  1. ul li:last-child {
  2. border-left: none;
  3. }

nth-child:

في الاصدار الأخير CSS3 تم إضافة فئة زائفة جديدة :nth-child تسمح لنا باستهداف إبن او اكثر لعنصر معين. وتكون بناء الجملة لهذا المحدد هي :nth-child(N) ، حيث N هي وسيط argument والتي يمكن أن تكون رقمًا أو كلمة محجوزة (even أو odd ) أو تعبيرًا xn+y حيث x و y هي أعداد صحيحة (على سبيل المثال ، 1n, 2n, 2n+1, …).

مثال
تشغيل
  1. table tr:nth-child(2n) td {
  2. background: #eeeeee;
  3. }
نصيحة:

يعتبر المحدد :nth-child(N) مفيدًا جدًا في المواقف التي يتعين علينا فيها تحديد العناصر التي تظهر داخل شجرة المستند في موقع او نمط محددة مثل الأماكن الزوجية أو الفردية ، إلخ.


lang:

الفئة الزائفة :lang تسمح بإنشاء المحددات بناءً على إعداد اللغة لعناصر محددة. تحدد الفئة :lang في المثال أدناه علامات الاقتباس لعناصر <q> التي تم منحها صراحة قيمة اللغة no.

مثال
تشغيل
  1. q:lang(no){
  2. quotes: "~" "~";
  3. }

محددات الفئات ومحددات الفئات الزائفة

يمكن دمج محددات الفئات الزائفة مع محددات الفئات.
الرابط التشعبي الذي يحتوي على السمة class="red" في المثال أدناه سيتم عرضه باللون الأحمر.

مثال
تشغيل
  1. a.red:link{
  2. color: #ff0000;
  3. }