CSS Tricks - Selectors

از cryptofutures.trading
پرش به ناوبری پرش به جستجو

🎯 با BingX تجارت ارز دیجیتال را آغاز کنید

با استفاده از لینک دعوت ما ثبت‌نام کنید و تا ۶۸۰۰ USDT پاداش خوش‌آمدگویی دریافت کنید.

✅ خرید و فروش بدون ریسک
✅ کوپن‌ها، کش‌بک و مرکز پاداش
✅ پشتیبانی از کارت‌های بانکی و پرداخت جهانی

CSS Tricks - Selectors

مقدمه

انتخاب‌گرها (Selectors) یکی از اجزای اصلی و حیاتی در زبان CSS هستند. آن‌ها به شما امکان می‌دهند عناصر خاصی از یک سند HTML را هدف قرار دهید و استایل‌های خاصی را به آن‌ها اعمال کنید. درک کامل انتخاب‌گرها برای ایجاد طرح‌بندی‌های پیچیده و واکنش‌گرا و همچنین مدیریت استایل در پروژه‌های بزرگ ضروری است. این مقاله به بررسی جامع انتخاب‌گرهای CSS، انواع آن‌ها و نحوه استفاده از آن‌ها می‌پردازد. هدف این مقاله، ارائه یک راهنمای عملی و قابل فهم برای مبتدیان است تا بتوانند از قدرت انتخاب‌گرها در طراحی وب بهره‌مند شوند.

انواع انتخاب‌گرها

انتخاب‌گرهای CSS را می‌توان به دسته‌های مختلفی تقسیم کرد که هر کدام ویژگی‌ها و کاربردهای خاص خود را دارند. در ادامه، به بررسی این دسته‌ها می‌پردازیم:

انتخاب‌گرهای عنصری (Element Selectors)

این ساده‌ترین نوع انتخاب‌گر هستند و به شما امکان می‌دهند تمام عناصر HTML با یک نام خاص را انتخاب کنید.

مثال:

Admin (بحث)css p {

 color: blue;

} Admin (بحث)

این کد تمام تگ‌های `

` در صفحه را به رنگ آبی تغییر می‌دهد.

انتخاب‌گرهای کلاسی (Class Selectors)

برای انتخاب عناصر با یک کلاس خاص، از انتخاب‌گرهای کلاسی استفاده می‌شود. کلاس‌ها در HTML با استفاده از صفت `class` تعریف می‌شوند.

مثال:

Admin (بحث)html

این یک پاراگراف مهم است.

Admin (بحث)

Admin (بحث)css .important {

 font-weight: bold;

} Admin (بحث)

این کد تمام عناصری که دارای کلاس `important` هستند را پررنگ می‌کند.

انتخاب‌گرهای شناسه (ID Selectors)

شناسه‌ها (IDs) برای انتخاب یک عنصر منحصر به فرد در صفحه استفاده می‌شوند. شناسه‌ها در HTML با استفاده از صفت `id` تعریف می‌شوند.

مثال:

Admin (بحث)html

Admin (بحث)

Admin (بحث)css

  1. header {
 background-color: lightgray;

} Admin (بحث)

این کد عنصر با شناسه `header` را با رنگ خاکستری روشن پس‌زمینه می‌کند. **توجه:** استفاده بیش از حد از IDها در CSS توصیه نمی‌شود، زیرا انعطاف‌پذیری کد را کاهش می‌دهد.

انتخاب‌گرهای ویژگی (Attribute Selectors)

این انتخاب‌گرها به شما امکان می‌دهند عناصر را بر اساس مقدار یا وجود یک ویژگی خاص انتخاب کنید.

مثال:

Admin (بحث)html <a href="https://www.example.com">لینک به مثال</a> <img src="image.jpg" alt="تصویر"> Admin (بحث)

Admin (بحث)css a[href] {

 color: green;

}

img[alt="تصویر"] {

 border: 1px solid black;

} Admin (بحث)

این کد تمام لینک‌ها با ویژگی `href` را به رنگ سبز و تمام تصاویر با ویژگی `alt` برابر با "تصویر" را با یک حاشیه سیاه نشان می‌دهد.

انتخاب‌گرهای فرزند (Child Combinators)

این انتخاب‌گرها به شما امکان می‌دهند عناصر را بر اساس رابطه آن‌ها با عناصر دیگر انتخاب کنید.

  • انتخاب‌گر فرزند مستقیم (Direct Child Selector): `>` - عناصری را انتخاب می‌کند که فرزند مستقیم یک عنصر خاص هستند.
  • انتخاب‌گر نسل (Descendant Selector): - عناصری را انتخاب می‌کند که نسل یک عنصر خاص هستند (فرزند، نوه، و غیره).

مثال:

Admin (بحث)html

این یک پاراگراف است.

 <section>

این یک پاراگراف در بخش است.

 </section>

Admin (بحث)

Admin (بحث)css div > p {

 color: red;

}

div p {

 font-style: italic;

} Admin (بحث)

این کد تمام پاراگراف‌های فرزند مستقیم `div` را به رنگ قرمز و تمام پاراگراف‌های نسل `div` را به صورت مورب نشان می‌دهد.

انتخاب‌گرهای هم‌سطح (Sibling Combinators)

این انتخاب‌گرها به شما امکان می‌دهند عناصر را بر اساس رابطه هم‌سطح آن‌ها با عناصر دیگر انتخاب کنید.

  • انتخاب‌گر هم‌سطح مجاور (Adjacent Sibling Selector): `+` - عنصری را انتخاب می‌کند که بلافاصله بعد از یک عنصر خاص قرار دارد.
  • انتخاب‌گر هم‌سطح عمومی (General Sibling Selector): `~` - عناصری را انتخاب می‌کند که بعد از یک عنصر خاص قرار دارند (نه لزوماً بلافاصله).

مثال:

Admin (بحث)html

عنوان

پاراگراف اول

پاراگراف دوم

Admin (بحث)

Admin (بحث)css h1 + p {

 margin-top: 0;

}

h1 ~ p {

 color: purple;

} Admin (بحث)

این کد فاصله بالای پاراگراف بلافاصله بعد از `h1` را حذف می‌کند و تمام پاراگراف‌های بعد از `h1` را به رنگ بنفش نشان می‌دهد.

انتخاب‌گرهای شبه‌کلاس (Pseudo-classes)

شبه‌کلاس‌ها به شما امکان می‌دهند عناصر را بر اساس حالت خاص آن‌ها انتخاب کنید، مانند زمانی که ماوس روی آن‌ها قرار دارد، یا زمانی که یک لینک بازدید شده است.

مثال:

Admin (بحث)css a:hover {

 color: orange;

}

a:visited {

 color: gray;

}

input:focus {

 border: 2px solid blue;

} Admin (بحث)

این کد رنگ لینک‌ها را هنگام بردن ماوس روی آن‌ها به نارنجی، رنگ لینک‌های بازدید شده را به خاکستری و حاشیه فیلدهای ورودی را هنگام فوکوس به آبی تغییر می‌دهد.

انتخاب‌گرهای شبه‌عنصر (Pseudo-elements)

شبه‌عناصر به شما امکان می‌دهند بخش‌های خاصی از یک عنصر را انتخاب کنید، مانند اولین خط یک پاراگراف، یا محتوای قبل یا بعد از یک عنصر.

مثال:

Admin (بحث)css p::first-line {

 font-weight: bold;

}

p::before {

 content: "» ";

}

p::after {

 content: " ←";

} Admin (بحث)

این کد اولین خط هر پاراگراف را پررنگ می‌کند و قبل و بعد از هر پاراگراف علامت‌های "» " و " ←" را اضافه می‌کند.

ویژگی‌های انتخاب‌گرها (Specificity)

هنگامی که چندین انتخاب‌گر با استایل‌های متضاد به یک عنصر اعمال می‌شوند، مرورگر از یک سیستم اولویت‌بندی به نام ویژگی (Specificity) برای تعیین اینکه کدام استایل باید اعمال شود استفاده می‌کند. به طور خلاصه، ویژگی بالاتر به استایل اولویت می‌دهد.

  • انتخاب‌گرهای درون‌خطی (Inline Styles): بالاترین ویژگی را دارند.
  • شناسه‌ها (IDs): ویژگی بالایی دارند.
  • کلاس‌ها (Classes)، شبه‌کلاس‌ها (Pseudo-classes) و ویژگی‌ها (Attributes): ویژگی متوسطی دارند.
  • انتخاب‌گرهای عنصری (Element Selectors): کمترین ویژگی را دارند.

برای درک بهتر، می‌توانید از ابزارهای توسعه‌دهنده مرورگر استفاده کنید تا ویژگی هر استایل را بررسی کنید.

نکات پیشرفته

  • استفاده از ترکیب انتخاب‌گرها: می‌توانید انتخاب‌گرها را با هم ترکیب کنید تا انتخاب‌های دقیق‌تری ایجاد کنید.
  • استفاده از ابزارهای توسعه‌دهنده مرورگر: ابزارهای توسعه‌دهنده مرورگر به شما امکان می‌دهند انتخاب‌گرها را تست کنید و ویژگی آن‌ها را بررسی کنید.
  • بهینه‌سازی CSS: برای بهبود عملکرد وب‌سایت، سعی کنید از انتخاب‌گرهای ساده و کارآمد استفاده کنید.
  • استفاده از CSS Preprocessors (پیش‌پردازنده‌های CSS): ابزارهایی مانند Sass و Less به شما امکان می‌دهند CSS را با ویژگی‌های پیشرفته‌تری مانند متغیرها و توابع بنویسید.

استراتژی‌های مرتبط با انتخاب‌گرها

  • BEM (Block Element Modifier): یک روش نام‌گذاری CSS است که به شما کمک می‌کند کدهای CSS را سازماندهی و قابل نگهداری کنید. ([۱](https://bem.info/))
  • OOCSS (Object-Oriented CSS): یک رویکرد CSS است که بر اساس اصول برنامه‌نویسی شی‌گرا بنا شده است. ([۲](https://oocss.org/))
  • SMACSS (Scalable and Modular Architecture for CSS): یک معماری CSS است که به شما کمک می‌کند کدهای CSS را مقیاس‌پذیر و ماژولار کنید. ([۳](https://smacss.com/))

تحلیل فنی انتخاب‌گرها

  • درخت DOM (Document Object Model): درک نحوه نمایش HTML در قالب یک درخت DOM برای فهم نحوه عملکرد انتخاب‌گرها ضروری است.
  • الگوریتم‌های انتخاب‌گر (Selector Algorithms): مرورگرها از الگوریتم‌های پیچیده‌ای برای مطابقت انتخاب‌گرها با عناصر HTML استفاده می‌کنند.
  • بهینه‌سازی عملکرد (Performance Optimization): انتخاب‌گرهای پیچیده می‌توانند بر عملکرد وب‌سایت تأثیر بگذارند، بنابراین مهم است که آن‌ها را بهینه کنید.

تحلیل حجم معاملات (Traffic Analysis)

  • استفاده از ابزارهای آنالیز ترافیک: ابزارهایی مانند Google Analytics می‌توانند به شما کمک کنند تا بفهمید کدام بخش‌های وب‌سایت شما بیشتر مورد بازدید قرار می‌گیرند و در نتیجه، استایل‌های CSS را بر اساس آن تنظیم کنید.
  • A/B Testing: با استفاده از A/B Testing می‌توانید تغییرات مختلف CSS را آزمایش کنید و ببینید کدام یک بهترین نتیجه را دارد.
  • تجربه کاربری (User Experience): انتخاب‌گرها به شما امکان می‌دهند تجربه کاربری را بهبود بخشید، بنابراین مهم است که آن‌ها را با دقت انتخاب کنید.

منابع بیشتر

جمع‌بندی

انتخاب‌گرهای CSS ابزاری قدرتمند برای استایل‌دهی به وب‌سایت‌ها هستند. با درک انواع انتخاب‌گرها، ویژگی آن‌ها و نحوه استفاده از آن‌ها، می‌توانید طرح‌بندی‌های پیچیده و واکنش‌گرا ایجاد کنید و تجربه کاربری را بهبود بخشید. تمرین و آزمایش با انتخاب‌گرهای مختلف به شما کمک می‌کند تا مهارت‌های خود را در این زمینه تقویت کنید.


پلتفرم‌های معاملات آتی پیشنهادی

پلتفرم ویژگی‌های آتی ثبت‌نام
Binance Futures اهرم تا ۱۲۵x، قراردادهای USDⓈ-M همین حالا ثبت‌نام کنید
Bybit Futures قراردادهای معکوس دائمی شروع به معامله کنید
BingX Futures معاملات کپی به BingX بپیوندید
Bitget Futures قراردادهای تضمین شده با USDT حساب باز کنید
BitMEX پلتفرم رمزارزها، اهرم تا ۱۰۰x BitMEX

به جامعه ما بپیوندید

در کانال تلگرام @strategybin عضو شوید برای اطلاعات بیشتر. بهترین پلتفرم‌های سودآور – همین حالا ثبت‌نام کنید.

در جامعه ما شرکت کنید

در کانال تلگرام @cryptofuturestrading عضو شوید برای تحلیل، سیگنال‌های رایگان و موارد بیشتر!

🎁 فرصت دریافت پاداش بیشتر با BingX

در BingX ثبت‌نام کنید و با امکانات ویژه‌ای مانند کپی ترید، معاملات اهرمی و ابزارهای حرفه‌ای کسب سود کنید.

✅ تا ۴۵٪ کمیسیون دعوت
✅ رابط کاربری فارسی‌پسند
✅ امکان تجارت سریع و آسان برای کاربران ایرانی

🤖 ربات تلگرام رایگان سیگنال ارز دیجیتال @refobibobot

با @refobibobot روزانه سیگنال‌های رایگان برای بیت‌کوین و آلت‌کوین‌ها دریافت کنید.

✅ ۱۰۰٪ رایگان، بدون نیاز به ثبت‌نام
✅ سیگنال‌های لحظه‌ای برای تریدرهای ایرانی
✅ مناسب برای تازه‌کاران و حرفه‌ای‌ها

📈 Premium Crypto Signals – 100% Free

🚀 Get trading signals from high-ticket private channels of experienced traders — absolutely free.

✅ No fees, no subscriptions, no spam — just register via our BingX partner link.

🔓 No KYC required unless you deposit over 50,000 USDT.

💡 Why is it free? Because when you earn, we earn. You become our referral — your profit is our motivation.

🎯 Winrate: 70.59% — real results from real trades.

We’re not selling signals — we’re helping you win.

Join @refobibobot on Telegram