CSS Selector
CSS Selector: راهنمای جامع برای مبتدیان
در دنیای توسعه وب، زبان CSS (Cascading Style Sheets) نقشی حیاتی در تعیین ظاهر و استایل صفحات وب ایفا میکند. اما برای اعمال استایلها، ابتدا باید عناصر HTML مورد نظر را به درستی انتخاب کنیم. اینجاست که مفهوم CSS Selector اهمیت پیدا میکند. سلکتورهای CSS به ما امکان میدهند تا عناصر HTML خاصی را در صفحه وب هدف قرار دهیم و استایلهای دلخواه را به آنها اعمال کنیم. در این مقاله، به بررسی جامع و دقیق سلکتورهای CSS برای مبتدیان میپردازیم.
سلکتورهای پایه، سادهترین و پرکاربردترین نوع سلکتورهای CSS هستند. این سلکتورها بر اساس نام تگ HTML، کلاس یا شناسه عناصر، آنها را انتخاب میکنند.
- **سلکتور تگ (Type Selector):** این سلکتور تمام عناصر HTML با یک تگ خاص را انتخاب میکند. به عنوان مثال، `p` تمام عناصر `
` (پاراگراف) را انتخاب میکند.
```css p { color: blue; font-size: 16px; } ```
- **سلکتور کلاس (Class Selector):** این سلکتور تمام عناصری که دارای یک کلاس خاص هستند را انتخاب میکند. کلاسها با یک نقطه (`.`) در ابتدای نام خود مشخص میشوند. به عنوان مثال، `.highlight` تمام عناصری که دارای کلاس `highlight` هستند را انتخاب میکند.
```css .highlight { background-color: yellow; font-weight: bold; } ```
- **سلکتور شناسه (ID Selector):** این سلکتور یک عنصر خاص را بر اساس شناسه آن انتخاب میکند. شناسه با یک علامت هشدار (`#`) در ابتدای نام خود مشخص میشود. به عنوان مثال، `#header` عنصر با شناسه `header` را انتخاب میکند. توجه داشته باشید که شناسه باید در یک صفحه وب منحصر به فرد باشد.
```css #header { text-align: center; background-color: gray; } ```
سلکتورهای ترکیبی به ما امکان میدهند تا عناصر HTML را بر اساس روابط آنها با یکدیگر انتخاب کنیم.
- **سلکتور فرزند (Child Selector):** این سلکتور عناصری را انتخاب میکند که فرزند مستقیم یک عنصر دیگر هستند. از یک علامت بزرگتر از (`>`) برای نشان دادن رابطه فرزند استفاده میشود. به عنوان مثال، `ul > li` تمام عناصر `
- ` که فرزند مستقیم یک عنصر `
- ` هستند را انتخاب میکند.
```css ul > li { list-style-type: square; } ```
- **سلکتور نواده (Descendant Selector):** این سلکتور عناصری را انتخاب میکند که نواده یک عنصر دیگر هستند. به عبارت دیگر، عنصر مورد نظر میتواند در هر سطحی از سلسله مراتب فرزندان عنصر دیگر قرار داشته باشد. از یک فاصله بین دو سلکتور برای نشان دادن رابطه نواده استفاده میشود. به عنوان مثال، `div p` تمام عناصر `
` که در داخل یک عنصر `
` قرار دارند را انتخاب میکند.
```css div p { font-style: italic; } ```
- **سلکتور برادر مجاور (Adjacent Sibling Selector):** این سلکتور عناصری را انتخاب میکند که بلافاصله بعد از یک عنصر دیگر قرار دارند و برادر هستند. از یک علامت به علاوه (`+`) برای نشان دادن رابطه برادر مجاور استفاده میشود. به عنوان مثال، `h2 + p` تمام عناصر `
` که بلافاصله بعد از یک عنصر `
` قرار دارند را انتخاب میکند.
```css h2 + p { margin-top: 0; } ```
- **سلکتور برادر عمومی (General Sibling Selector):** این سلکتور عناصری را انتخاب میکند که بعد از یک عنصر دیگر قرار دارند و برادر هستند. از یک علامت تilde (`~`) برای نشان دادن رابطه برادر عمومی استفاده میشود. به عنوان مثال، `h2 ~ p` تمام عناصر `
` که بعد از یک عنصر `
` قرار دارند را انتخاب میکند.
```css h2 ~ p { color: green; } ```
سلکتورهای ویژگی به ما امکان میدهند تا عناصری را بر اساس مقادیر ویژگیهای آنها انتخاب کنیم.
- **سلکتور ویژگی (Attribute Selector):** این سلکتور عناصری را انتخاب میکند که دارای یک ویژگی خاص هستند. از براکت (`[]`) برای نشان دادن ویژگی استفاده میشود. به عنوان مثال، `[title]` تمام عناصری که دارای ویژگی `title` هستند را انتخاب میکند.
```css [title] { cursor: help; } ```
- **سلکتور ویژگی با مقدار دقیق (Attribute Selector with Exact Value):** این سلکتور عناصری را انتخاب میکند که دارای یک ویژگی با یک مقدار دقیق هستند. به عنوان مثال، `[type="text"]` تمام عناصری که دارای ویژگی `type` با مقدار `text` هستند را انتخاب میکند.
```css [type="text"] { border: 1px solid black; } ```
- **سلکتور ویژگی با مقدار جزئی (Attribute Selector with Partial Value):** این سلکتور عناصری را انتخاب میکند که دارای یک ویژگی با یک مقدار جزئی هستند. از عملگرهای `*=` (شامل)، `^=` (شروع با) و `$=` (پایان با) برای نشان دادن مقادیر جزئی استفاده میشود. به عنوان مثال، `[href*="example.com"]` تمام عناصری که دارای ویژگی `href` با رشته `example.com` در مقدار خود هستند را انتخاب میکند.
```css [href*="example.com"] { color: red; } ```
- **سلکتور ویژگی با لیست مقادیر (Attribute Selector with List of Values):** این سلکتور عناصری را انتخاب میکند که دارای یک ویژگی با یکی از مقادیر موجود در لیست هستند. از کاما (`,`) برای جدا کردن مقادیر استفاده میشود. به عنوان مثال، `[type="text", type="password"]` تمام عناصری که دارای ویژگی `type` با مقدار `text` یا `password` هستند را انتخاب میکند.
```css [type="text"], [type="password"] { padding: 5px; } ```
سلکتورهای شبهکلاس به ما امکان میدهند تا عناصری را بر اساس حالت آنها انتخاب کنیم.
- **`:hover`:** این شبهکلاس عناصری را انتخاب میکند که ماوس بر روی آنها قرار دارد.
```css a:hover { color: orange; } ```
- **`:active`:** این شبهکلاس عناصری را انتخاب میکند که در حال کلیک شدن هستند.
```css a:active { color: red; } ```
- **`:focus`:** این شبهکلاس عناصری را انتخاب میکند که تمرکز (focus) بر روی آنها قرار دارد.
```css input:focus { border: 2px solid blue; } ```
- **`:first-child`:** این شبهکلاس اولین عنصر فرزند را انتخاب میکند.
```css p:first-child { font-weight: bold; } ```
- **`:last-child`:** این شبهکلاس آخرین عنصر فرزند را انتخاب میکند.
```css li:last-child { border-bottom: none; } ```
- **`:nth-child(n)`:** این شبهکلاس عنصر فرزند n-ام را انتخاب میکند.
```css tr:nth-child(even) { background-color: #f2f2f2; } ```
سلکتورهای شبهعنصر به ما امکان میدهند تا به بخشهای خاصی از یک عنصر دسترسی پیدا کنیم.
- **`::before`:** این شبهعنصر محتوایی را قبل از محتوای عنصر اصلی قرار میدهد.
- **`::after`:** این شبهعنصر محتوایی را بعد از محتوای عنصر اصلی قرار میدهد.
- **`::first-line`:** این شبهعنصر اولین خط متن یک عنصر را انتخاب میکند.
- **`::first-letter`:** این شبهعنصر اولین حرف متن یک عنصر را انتخاب میکند.
الگو:اهمیت اولویتبندی CSS (Specificity)
هنگامی که چندین سلکتور با استایلهای مختلف به یک عنصر اعمال میشوند، مرورگر از یک سیستم اولویتبندی برای تعیین استیلی که باید اعمال شود استفاده میکند. این سیستم بر اساس Specificity کار میکند. به طور کلی، سلکتورهای با بالاترین اولویتبندی، استایلهای خود را بر سلکتورهای با اولویتبندی پایینتر اعمال میکنند.
استراتژیهای بهینهسازی CSS، تحلیل فنی CSS و تحلیل حجم معاملات CSS نیز از جمله مباحث مهم در این حوزه هستند.
- MDN Web Docs - CSS Selectors: یک منبع جامع و معتبر برای یادگیری سلکتورهای CSS.
- CSS Tricks - Selectors: مقالات و آموزشهای کاربردی در مورد سلکتورهای CSS.
- W3Schools - CSS Selectors: آموزشهای ساده و قابل فهم در مورد سلکتورهای CSS.
در این مقاله، به بررسی جامع و دقیق سلکتورهای CSS برای مبتدیان پرداختیم. با درک و تسلط بر این سلکتورها، میتوانید به طور موثر عناصر HTML مورد نظر خود را هدف قرار دهید و استایلهای دلخواه را به آنها اعمال کنید. به یاد داشته باشید که تمرین و تجربه، کلید یادگیری و تسلط بر هر زبانی، از جمله CSS است. بهینهسازی عملکرد CSS و تست A/B برای استایلها نیز از جمله مهارتهای مهم در این زمینه هستند. همچنین، بررسی آمار استفاده از سلکتورهای CSS میتواند به شما در انتخاب بهترین استراتژی برای توسعه وب کمک کند.
پلتفرمهای معاملات آتی پیشنهادی
پلتفرم ویژگیهای آتی ثبتنام Binance Futures اهرم تا ۱۲۵x، قراردادهای USDⓈ-M همین حالا ثبتنام کنید Bybit Futures قراردادهای معکوس دائمی شروع به معامله کنید BingX Futures معاملات کپی به BingX بپیوندید Bitget Futures قراردادهای تضمین شده با USDT حساب باز کنید BitMEX پلتفرم رمزارزها، اهرم تا ۱۰۰x BitMEX به جامعه ما بپیوندید
در کانال تلگرام @strategybin عضو شوید برای اطلاعات بیشتر. بهترین پلتفرمهای سودآور – همین حالا ثبتنام کنید.
در جامعه ما شرکت کنید
در کانال تلگرام @cryptofuturestrading عضو شوید برای تحلیل، سیگنالهای رایگان و موارد بیشتر!
- **سلکتور نواده (Descendant Selector):** این سلکتور عناصری را انتخاب میکند که نواده یک عنصر دیگر هستند. به عبارت دیگر، عنصر مورد نظر میتواند در هر سطحی از سلسله مراتب فرزندان عنصر دیگر قرار داشته باشد. از یک فاصله بین دو سلکتور برای نشان دادن رابطه نواده استفاده میشود. به عنوان مثال، `div p` تمام عناصر `