دوره‌ها / CSS / CSS Selectors

CSS Selectors

15 دقیقه Article پیش‌نمایش

انتخاب‌گرها: قلب CSS 🎯

سلکتورها (Selectors) به CSS میگن "کدوم المان‌ها رو انتخاب کنی". بدون سلکتور، CSS کاربردی نداره!

۱. سلکتور المان (Element Selector)

ساده‌ترین نوع! اسم تگ HTML رو می‌نویسید:

p {
  color: blue;
}

h1 {
  font-size: 32px;
}

a {
  text-decoration: none;
}

این کد می‌گه: "تمام تگ‌های <p> رو آبی کن، تمام<h1> ها رو 32 پیکسل کن، و همه لینک‌ها رو بدون خط زیر نشون بده."

۲. سلکتور کلاس (Class Selector)

با نقطه (.) شروع میشه و به attribute یعنی class در HTML اشاره داره:

HTML:

این متن هایلایت شده

این عادی است

این هم هایلایته

CSS:

.highlight {
  background-color: yellow;
  font-weight: bold;
}

نتیجه: هر المانی که class="highlight" داشته باشه (چه p باشه چه div) استایل میگیره.

چند کلاس برای یک المان:

متن من

می‌تونید چند کلاس رو با Space از هم جدا کنید!

۳. سلکتور شناسه (ID Selector)

با # شروع میشه و به attribute یعنی id اشاره داره. هر ID باید در کل صفحه یک‌تا باشه (unique)!



#header {
  background: navy;
  color: white;
  padding: 20px;
}
ID vs Class - کدوم رو استفاده کنیم؟
  • ID: برای چیزایی که فقط یک‌بار توی صفحه اومدن (مثل header, footer)
  • Class: برای چیزایی که ممکنه چند بار تکرار بشن (مثل دکمه‌ها، کارت‌ها)
توصیه: تا می‌تونید از Class استفاده کنید. قابل استفاده مجدده!

۴. سلکتور یونیورسال (Universal Selector)

ستاره (*) یعنی "همه چیز":

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

این کد معروفه و توی شروع اکثر پروژه‌ها استفاده میشه. به همه المان‌ها میگه: "مارجین و پدینگ پیش‌فرض مرورگر رو صفر کن."

۵. سلکتور گروهی (Grouping Selector)

می‌خواید چند تا المان مختلف استایل یکسان بگیرن؟ با کاما (,) جداشون کنید:

h1, h2, h3 {
  font-family: "Yekan", Tahoma;
  color: #f8fafc;
}

.btn-primary, .btn-secondary, .btn-danger {
  padding: 10px 20px;
  border: none;
  cursor: pointer;
}

🎯 تمرین: مدیریت کلاس‌ها

یک صفحه HTML با این محتوا دارید:

فروشگاه آنلاین

بهترین محصولات را از ما بخرید

<button class="btn">خرید</button> <button class="btn special">خرید ویژه</button>

تماس با ما: 123-456

وظیفه: CSS بنویسید که:

  • تمام پاراگراف‌ها رنگ خاکستری (#666) باشن
  • المان‌هایی که کلاس description دارن، ایتالیک (font-style: italic) بشن
  • تمام دکمه‌ها پس‌زمینه آبی (#007bff) و متن سفید داشته باشن
  • دکمه‌ای که هم btn و هم special داره، پس‌زمینه طلایی (#ffd700) بشه
💡 پاسخ
/* تمام پاراگراف‌ها */
p {
  color: #F1F5F9;
}

/* فقط توضیحات */
.description {
  font-style: italic;
}

/* تمام دکمه‌ها */
.btn {
  background-color: #F1F5F9;
  color: white;
  padding: 10px 20px;
  border: none;
}

/* دکمه ویژه */
.btn.special {
  background-color: #ffd700;
}

نکته: .btn.special (بدون space) یعنی "المانی که هر دو کلاس رو داره".

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید