سلکتورها (Selectors) در CSS مانند زبان اشارهگر عمل میکنند؛ آنها به مرورگر میگویند که کدام بخش از سند HTML باید مورد استایلدهی قرار گیرد. بدون سلکتورها، CSS نمیتواند بداند که کدام عنصر را باید تغییر دهد. درک انواع سلکتورها، از پایه تا پیشرفته، کلید اصلی برای کنترل دقیق ظاهر وبسایت شماست. در اینجا به مفاهیم سلکتورهای پایه و پرکاربرد میپردازیم:
۱. انتخابگر نوع (Type Selector)
این سادهترین نوع سلکتور است که بر اساس نام تگ (نوع عنصر) در HTML عمل میکند. هر تگی که در HTML وجود دارد، میتواند به عنوان یک انتخابگر نوع استفاده شود.
- مفهوم: شما به مرورگر میگویید: “هر عنصری از این نوع که در صفحه وجود دارد را انتخاب کن.”
- کاربرد: برای اعمال استایلهای عمومی به تمام عناصر از یک نوع خاص. مثلاً، اگر بخواهید تمام پاراگرافهای صفحه شما یک فونت خاص داشته باشند، از انتخابگر نوع
pاستفاده میکنید. یا اگر بخواهید تمام تیترهای سطح اول (h1) قرمز باشند. - مثال مفهومی: “تمام جعبههای قرمز رنگ را انتخاب کن.” (در اینجا “جعبه” همان نوع عنصر است.)
۲. انتخابگر کلاس (Class Selector)
انتخابگر کلاس به شما این امکان را میدهد که استایلهای خود را به عناصری که یک “کلاس” خاص به آنها اختصاص دادهاید، اعمال کنید. کلاسها به شما انعطافپذیری فوقالعادهای میدهند، زیرا میتوانید یک کلاس را به هر تعداد عنصر در صفحه اعمال کنید و یک عنصر نیز میتواند چندین کلاس داشته باشد.
- مفهوم: شما به مرورگر میگویید: “هر عنصری که این برچسب یا صفت خاص (کلاس) را دارد، انتخاب کن.” کلاسها با یک نقطه (
.) قبل از نامشان در CSS مشخص میشوند. - کاربرد: این یکی از پرکاربردترین سلکتورهاست. برای گروهبندی عناصر با ظاهر یا رفتار مشابه که لزوماً از یک نوع تگ نیستند. مثلاً، میتوانید کلاسی به نام
highlightبرای برجسته کردن متنها، یا کلاسی به نامbuttonبرای تمام دکمهها (چه<a>باشند و چه<button>) ایجاد کنید. همچنین برای ایجاد الگوهای طراحی (Design Patterns) و اجزای رابط کاربری (UI Components) بسیار مفید است. - مثال مفهومی: “تمام جعبههایی که برچسب ‘مهم’ دارند را انتخاب کن.” (در اینجا “مهم” همان کلاس است.)
۳. انتخابگر شناسه (ID Selector)
انتخابگر شناسه به شما اجازه میدهد تا یک عنصر خاص و منحصر به فرد در صفحه HTML را هدف قرار دهید. هر شناسه (ID) در یک سند HTML باید کاملاً یکتا باشد. شناسهها با علامت شارپ (#) قبل از نامشان در CSS مشخص میشوند.
- مفهوم: شما به مرورگر میگویید: “دقیقاً آن عنصری که این کد شناسایی منحصر به فرد (ID) را دارد، انتخاب کن.”
- کاربرد: برای استایلدهی به عناصر خاص و مهم صفحه که انتظار نمیرود تکرار شوند، مانند هدر اصلی صفحه، فوتر، نوار کناری اصلی، یا یک فرم خاص. همچنین در جاوا اسکریپت برای دسترسی سریع به یک عنصر خاص از ID استفاده میشود.
- مثال مفهومی: “آن جعبه خاص که شماره شناسایی ‘ABC123’ دارد را انتخاب کن.” (در اینجا ‘ABC123’ همان ID است.)
- نکته مهم: به دلیل اینکه ID باید منحصر به فرد باشد، معمولاً در CSS از انتخابگرهای کلاس برای استایلدهی استفاده میشود و ID بیشتر برای هدفگیری یک عنصر خاص در جاوا اسکریپت یا برای ایجاد لینکهای داخلی (Anchor Links) کاربرد دارد.
۴. انتخابگر عمومی (Universal Selector)
این انتخابگر، همانطور که از نامش پیداست، تمام عناصر موجود در سند HTML را انتخاب میکند. این انتخابگر با علامت ستاره (*) نمایش داده میشود.
- مفهوم: “همه چیز را انتخاب کن.”
- کاربرد: معمولاً برای اعمال تنظیمات سراسری بسیار پایه، مانند ریست کردن حاشیهها (Margins) و paddingها در تمام عناصر (که در فایلهای
reset.cssیاnormalize.cssرایج است) یا برای اعمال یک ویژگی عمومی به تمام عناصر صفحه استفاده میشود. با این حال، استفاده بیش از حد از آن میتواند بر عملکرد تأثیر بگذارد و به دلیل اولویت پایین، ممکن است با استایلهای دیگر تداخل پیدا کند. - مثال مفهومی: “هر چیزی که در این اتاق است را انتخاب کن.”
۵. انتخابگرهای صفات (Attribute Selectors)
این انتخابگرها به شما امکان میدهند تا عناصر را بر اساس وجود یا مقدار خاصی از صفات (Attributes) آنها انتخاب کنید. این قابلیت بسیار قدرتمند است و انعطافپذیری بالایی در هدف قرار دادن عناصر بدون نیاز به کلاس یا ID اضافه فراهم میکند.
- مفهوم: شما به مرورگر میگویید: “عناصری را انتخاب کن که یک صفت خاص دارند، یا مقدار آن صفتشان مطابق با شرط خاصی است.”
- کاربرد:
- وجود صفت: انتخاب تمام عناصری که یک صفت خاص را دارند، صرف نظر از مقدار آن. (مثال: انتخاب تمام تگهای
<a>که صفتtargetدارند.) - برابری مقدار صفت: انتخاب عناصری که مقدار یک صفت دقیقاً برابر با یک مقدار مشخص است. (مثال: انتخاب تمام ورودیهای فرم که
type="submit"دارند.) - بخشی از مقدار صفت: انتخاب عناصری که مقدار صفتشان شامل یک رشته خاص است، یا با یک رشته خاص شروع یا پایان مییابد. (مثال: انتخاب تمام لینکهایی که URL آنها با
.pdfپایان مییابد.) - مثال مفهومی: “تمام جعبههایی را انتخاب کن که برچسب ‘جنس’ دارند.” یا “تمام جعبههایی را انتخاب کن که برچسب ‘رنگ’ دارند و مقدار آن ‘آبی’ است.”
۶. انتخابگرهای ترکیبی (Combinators)
این انتخابگرها به شما اجازه میدهند تا عناصر را بر اساس رابطه سلسله مراتبی یا موقعیتیشان با سایر عناصر انتخاب کنید. اینها در واقع ترکیباتی از سلکتورهای سادهتر هستند.
- انتخابگر فرزند (Child Combinator -
>): - مفهوم: “عنصری را انتخاب کن که فرزند مستقیم (سطح اول) عنصر دیگر است.”
- کاربرد: زمانی که میخواهید فقط بر روی عناصر مستقیمی که درون یک کانتینر خاص قرار دارند، استایل اعمال کنید، نه بر روی نوادگان عمیقتر. مثال: انتخاب فقط پاراگرافهایی که مستقیماً داخل یک
<div>با کلاسcontentهستند. - انتخابگر عمومی همسایه (General Sibling Combinator -
~): - مفهوم: “عنصری را انتخاب کن که بعد از عنصر دیگر آمده و هر دو همسطح (خواهر و برادر) هستند.”
- کاربرد: برای اعمال استایل به عناصری که بعد از یک عنصر خاص میآیند، اما لازم نیست بلافاصله بعد از آن باشند. مثال: انتخاب تمام پاراگرافهایی که بعد از یک تیتر
<h2>آمدهاند. - انتخابگر مستقیم همسایه (Adjacent Sibling Combinator -
+): - مفهوم: “عنصری را انتخاب کن که بلافاصله بعد از عنصر دیگر آمده و هر دو همسطح هستند.”
- کاربرد: مشابه انتخابگر عمومی همسایه، اما با قید “بلافاصله”. مثال: انتخاب عنصری که درست بعد از یک عنصر خاص قرار دارد.
نتیجهگیری
این سلکتورهای پایه و کاربردی، ابزارهای اساسی شما برای کنترل دقیق استایلدهی در وب هستند. با ترکیب این سلکتورها و درک مفاهیم سلسله مراتب و اولویت، میتوانید هر جزء از صفحه وب خود را به دلخواه استایلدهی کنید. یادگیری و تمرین مداوم این سلکتورها، شما را در مسیر تسلط بر CSS یاری خواهد رساند.
کلیدواژه ها : سلکتورهای CSS-مبانی CSS-انتخابگر نوع-انتخابگر کلاس-انتخابگر شناسه-انتخابگر عمومی-انتخابگر صفت-انتخابگر ترکیبی-CSS Selectors-Basic CSS-Type Selector-Class Selector-ID Selector-Attribute Selector-Combinator-