تک دیک

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

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Filter by Categories
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Numbers
O
P
Q
R
S
T
U
V
W
Y
Z
آگهی
اپلیکیشن ها
اچ‌تی‌ام‌ال
اسکرچ
اشخاص و شرکت ها
امنیت
امنیت آنلاین
اندروید
اینترنت
پایتون
پرسش و پاسخ
جاوااسکریپت
حروف انگلیسی
خبر
دوره های آموزشی
سخت‌افزار
سی‌اس‌اس
شبکه
فنی
کنسول جستجوی گوگل
گرافیک
لینوکس
مایکروسافت اکسل
مایکروسافت پاورپوینت
مایکروسافت ورد
مبانی کامپیوتر
مجله
مجله – امنیت
مجله – بازی
مجله – برنامه نویسی
مجله – دنیای اینترنت
مجله – سخت افزار
مجله – سیستم
مجله – شبکه
مجله – شبکه های اجتماعی
مجله – عمومی
مجله – گوشی‌های هوشمند
مجله – نرم افزار
مجله – ویندوز
مقدماتی
موضوعی
نرم‌افزار
وردپرس

سلکتور ترکیب کننده در CSS

سلکتور ترکیب کننده یا Combinator selector در CSS

سلکتور ترکیب کننده (یا Combinator Selector) گونه‌ای از سلکتورها در CSS است که از ترکیب سایر سلکتورها به وجود می‌آید. به عبارت بهتر در سلکتورهای ترکیب کننده، چند سلکتور ساده با یکدیگر ترکیب می‌شوند و یک سلکتور جدید را شکل می‌دهند. این سلکتورها به شما اجازه می‌دهند المان ها را براساس روابط‌شان با سایر المان‌ها (مانند فرزندی، هم‌والدی و …) انتخاب کنید.

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

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

مابین سلکتورهای ساده در یک سلکتور ترکیب کننده، کاراکتر یا نمادی موسوم به ترکیب کننده (Combinator) قرار می‌گیرد. این کاراکتر نوع ارتباط موردنظر میان سلکتورها را مشخص می‌کند.

به عنوان مثالی از این نوع سلکتورها می‌توان به سلکتور نسل (Descendant selector) اشاره کرد. این سلکتورها، تمام المان هایی که منطبق با سلکتور دوم هستند را در صورتی انتخاب می‌کنند که از نسل المانی منطبق با سلکتور اول باشند. در سلکتورهای نسل از یک کاراکتر فاصله برای ترکیب دو سلکتور استفاده می‌شود. برای درک بهتر عملکرد این سلکتورها، سلکتور div p را در مثال زیر در نظر بگیرید.

div p {
  color: red;
}

سلکتور فوق تمام المان های <p> که از نسل یک المان <div> هستند را انتخاب می‌کند. در واقع با کمک قانون فوق، متن تمام المان های <p> که داخل یک المان <div> قرار دارند قرمز می‌شود. فرقی هم ندارد المان <div> والد المان <p> باشد یا والد والد آن یا والد والد والد آن و الی آخر.

فرض کنید بخش <body> در سند HTML، مشابه با کد زیر شامل پنج پاراگراف، یک المان <div> و یک المان <section> باشد:

<body>
  <p>Paragraph 1. Not in a div. But before a div.</p>
  <div>
    <p>Paragraph 2 in the div. A direct child of the div.</p>
    <section><p>Paragraph 3 in the div. Not direct child of a div.</p></section>
  </div>
  <p>Paragraph 4. Not in a div. But adjacent sibling after a div.</p>
  <p>Paragraph 5. Not in a div. But sibling after a div.</p>
</body>

با توجه به المان ها و قانون CSS فوق، تنها پاراگراف های دوم و سوم با رنگ قرمز مشخص می‌شوند. چرا که صرفا این دو پاراگراف داخل یک المان <div> قرار دارند.

انواع سلکتورهای ترکیب‌کننده

در سی‌اس‌اس، چهار نوع سلکتور ترکیب کننده وجود دارد:

  • سلکتور نسل (Descendant selector): در سلکتور نسل، تمام المان‌هایی که منطبق با سلکتور دوم هستند در صورتی انتخاب می‌شوند که از نسل المانی منطبق با سلکتور اول باشند. در این نوع سلکتور، سلکتور اول و دوم با کمک یک کاراکتر فاصله با یکدیگر ترکیب می‌شوند.
  • سلکتور فرزند (Child selector): در سلکتور فرزند، صرفا المان‌هایی منطبق با سلکتور دوم انتخاب می‌شوند که فرزند مستقیم المانی منطبق با سلکتور اول باشند. در این نوع سلکتور، سلکتور اول و دوم با کمک یک کاراکتر > با یکدیگر ترکیب می‌شوند.
  • سلکتور هم‌والد مجاور یکدیگر (Adjacent Sibling selector): در سلکتور هم‌والد مجاور یا سلکتور برادر مجاور، صرفا المان‌هایی منطبق با سلکتور دوم انتخاب می‌شوند که برادر بلافصل بعدی یک المان منطبق با سلکتور اول باشند. در این نوع سلکتور، سلکتور اول و دوم با کمک یک کاراکتر + با یکدیگر ترکیب می‌شوند.
  • سلکتور هم‌والد عمومی (General Sibling selector): در سلکتور هم‌والد عمومی یا سلکتور برادر عمومی، المان‌هایی منطبق با سلکتور دوم انتخاب می‌شوند که برادر بعدی المانی منطبق با سلکتور اول باشند. در این نوع سلکتور، سلکتور اول و دوم با کمک یک کاراکتر ~ با یکدیگر ترکیب می شوند و برخلاف سلکتور هم‌والد مجاور لازم نیست المان‌های مورد بحث کنار یکدیگر باشند.

در تصویر زیر نتیجه قوانین با سلکتورهای div p, div > p، div + p و div ~ p روی قطعه کد HTML مثال قبل را مشاهده می‌کنید. (جزئیات بیشتر در مورد سلکتورهای فوق را در قسمت‌های مجزا خواهید آموخت).

نمایی از نتیجه انواع مختلف سلکتور ترکیب کننده CSS روی یک سند HTML با پنج پاراگراف

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

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

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

دیدگاه‌ها

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

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

نوشته‌های بیشتر

تبلیغات متنی ساده