تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

شبه کلاس در CSS

شبه کلاس (یا Pseudo Class) ها در CSS عباراتی هستند که با اضافه شدن به سلکتورهای عادی (یا در حالت تنها)، وضعیت خاصی از المان‌ها را مشخص می‌کنند. به عبارت بهتر با وجود شبه کلاس، زمانی المان های موردنظر توسط سلکتور انتخاب می‌شوند که در وضعیت مشخص شده قرار داشته باشند. برای مثال با ترکیب سلکتورهای معمولی و شبه کلاس ها می‌توان لینکی که نشانگر ماوس روی آن قرار گرفته، لینک‌های ملاقات شده یا پاراگراف هایی که اولین فرزند والدشان هستند را برای تعیین استایل هدف قرار داد.

بیشتر بخوانید: آشنایی با سلکتورها و انواع آن‌ها در CSS

شیوه استفاده از شبه کلاس ها در CSS

سینتکس کلی سلکتور شبه کلاس در سی‌اس‌اس مشابه با نمونه ساده زیر است. همانطور که مشاهده می‌کنید برای درج شبه کلاس ها پیش از عنوان شبه کلاس، یک کاراکتر کلن (یا :) قرار می‌گیرد.

selector:pseudo-class {
  ...
}

به عنوان مثال سلکتور زیر لینکی را انتخاب می‌کند که نشانگر ماوس روی آن قرار گرفته است. با توجه به بخش اظهاریه در این مثال، هنگام قرارگیری نشانگر ماوس روی هر لینک، رنگ متن آن قرمز خواهد شد.

a:hover {
  color: red;
}

تفاوت شبه کلاس با شبه المان

برخلاف شبه کلاس ها که المان هایی در یک وضعیت خاص را انتخاب می‌کنند شبه المان (یا Pseudo Element) ها بخشی از المان‌ها را برای تعیین استایل انتخاب می‌کنند. برای مثال شبه المان ها می‌توانند خط اول یا حرف اول یک پاراگراف را انتخاب کنند یا بخشی از متن پاراگراف که توسط کاربر انتخاب شده را هدف قرار دهند.

بیشتر بخوانید: آشنایی با شبه المان ها در CSS

شبه کلاس های متداول در CSS

شبه کلاس های پرکاربرد برای لینک ها

لینک ها یا المان های <a> یکی از رایج‌ترین المان‌هایی هستند که برای انتخابشان در وضعیت‌های مختلف از شبه کلاس ها استفاده می‌شود. در CSS چهار شبه کلاس زیر کاربرد فراوانی برای وضعیت‌های مختلف لینک ها دارند:

شبه کلاس سلکتور مثال مفهوم سلکتور مثال
:link a:link تمام لینک های ویزیت (یا ملاقات) نشده را انتخاب می‌کند.
:visited a:visited تمام لینک های ویزیت (یا ملاقات) شده را انتخاب می‌کند.
:hover a:hover لینکی که نشانگر ماوس روی آن قرار دارد را انتخاب می‌کند.
:active a:active لینک فعال را انتخاب می‌کند.

شبه کلاس‌های پرکاربرد مرتبط با المان های <input>

شبه کلاس سلکتور مثال مفهوم سلکتور مثال
:checked input:checked انتخاب تمام المان‌های <input> تیک خورده
:disabled input:disabled انتخاب تمام المان‌های <input> غیرفعال
:enabled input:enabled انتخاب تمام المان‌های <input> فعال
:focus input:focus انتخاب تمام المان‌های <input> که فوکس را در اختیار دارند.
:in-range input:in-range انتخاب تمام المان‌های <input> که مقدارشان در بازه مشخص شده قرار دارد.
:invalid input:invalid انتخاب تمام المان‌های <input> که مقدارشان نامعتبر است.
:optional input:optional انتخاب تمام المان‌های <input> که خصوصیت required (اجباری) را ندارند.
:out-of-range input:out-of-range انتخاب تمام المان‌های <input> که مقدارشان خارج از بازه مشخص شده قرار دارد.
:read-only input:read-only انتخاب تمام المان‌های <input> که دارای خصوصیت readonly (فقط خواندنی) هستند.
:read-write input:read-write انتخاب تمام المان‌های <input> که دارای خصوصیت readonly (فقط خواندنی) نیستند.
:required input:required انتخاب تمام المان‌های <input> که دارای خصوصیت required (اجباری) هستند.
:valid input:valid انتخاب تمام المان‌های <input> که مقدارشان معتبر است.

سایر شبه کلاس های رایج در سی اس اس

شبه کلاس سلکتور مثال مفهوم سلکتور مثال
:empty p:empty انتخاب تمام المان‌های <p> بدون فرزند
:first-child p:first-child انتخاب تمام المان‌های <p> که فرزند اول والدشان هستند.
:first-of-type p:first-of-type انتخاب تمام المان‌های <p> که اولین المان <p> والدشان هستند.
:lang(language) p:lang(it) انتخاب تمام المان‌های <p> که خصوصیت lang در آن‌ها با it شروع می‌شود.
:last-child p:last-child انتخاب تمام المان‌های <p> که فرزند آخر والدشان هستند.
:last-of-type p:last-of-type انتخاب تمام المان‌های <p> که آخرین المان <p> والدشان هستند.
:not(selector) :not(p) انتخاب تمام المان‌هایی که المان <p> نیستند.
:nth-child(n) p:nth-child(2) انتخاب تمام المان‌های <p> که دومین فرزند والدشان هستند.
:nth-last-child(n) p:nth-last-child(2) انتخاب تمام المان‌های <p> که دومین فرزند والدشان با شمارش از فرزند آخر هستند.
:nth-last-of-type(n) p:nth-last-of-type(2) انتخاب تمام المان‌های <p> که دومین المان <p> والدشان با شمارش از فرزند آخر هستند.
:nth-of-type(n) p:nth-of-type(2) انتخاب تمام المان‌های <p> که دومین المان <p> والدشان هستند.
:only-of-type p:only-of-type انتخاب تمام المان‌های <p> که تنها المان <p> والدشان هستند.
:only-child p:only-child انتخاب تمام المان‌های <p> که تنها فرزند والدشان هستند.
:root :root انتخاب المان ریشه سند
:target #myid:target انتخاب المانی با آی‌دی myid فعال (به این معنی که فرگمنت نشانی صفحه با این آی‌دی مطابقت دارد).

جزئیات بیشتر در مورد شبه کلاس‌های فوق را در قسمت‌های مجزا خواهید آموخت.

بازگشت به فهرست مجموعه آموزشی CSS

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *