در حال بارگذاری...

رنگ‌ها در CSS

سلکتور را بلدید. حالا رنگ بزنید. اولین مهارت رنگ ساده است: رنگ متن را با ویژگی color تنظیم کنید. پس‌زمینه، گرادیان و ریاضیات کامل رنگ بعداً می‌آید — امروز رنگ پیش‌زمینهٔ خوانا و قابل‌استفادهٔ مجدد.

color چه کار می‌کند؟

ویژگی color رنگ پیش‌زمینه را می‌گذارد — عمدتاً رنگ حروف. مرورگر همان رنگ محاسبه‌شده را برای چیزهایی که از currentColor پیروی می‌کنند هم به‌کار می‌برد (حاشیه، بعضی SVGها و تزئینات). داخل جعبه پشت متن را رنگ نمی‌کند؛ آن کار background-color است (ماژول‌های بعدی).

رنگ‌های نام‌دار در یک نگاه

CSS کلی رنگ نام‌دار دارد — کلمه‌هایی مثل teal و navy. اول یک مجموعهٔ روزمره را حفظ کنید. hex دقیق و rgb() در درس مقادیر رنگ می‌آید.

📊 رنگ‌های نام‌دار روزمره

نام حس استفادهٔ معمول
black / white حداکثر کنتراست متن بدنه یا بوم صفحه (با احتیاط)
navy / teal تأکید آرام برند لینک، تیتر، یادداشت
maroon / crimson هشدار یا تأکید قوی خطا، برچسب فروش (کم)
gray / silver متن فرعی آرام کپشن، برچسب کم‌رنگ
transparent کاملاً شفاف پنهان کردن حاشیه بدون حذف ویژگی

رنگ متن با یک نام

یک declaration عادی بنویسید: ویژگی color، مقدار یک رنگ نام‌دار. از متن پاراگراف شروع کنید تا صفحه حس داشته باشد.

رنگ نام‌دار روی متن پاراگراف

css
CSS Code
p {
color: teal;
}

نتیجه را چطور بخوانیم؟

هر <p> جور با قانون، حروفش فیروزه‌ای می‌شود. نام ویژگی همیشه color است — نه text-color و نه font-color.

تیتر می‌تواند با بدنه فرق کند

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

تأکید تیتر در برابر متن بدنه

css
CSS Code
h1 {
color: navy;
}

.lead {
color: gray;
}

عادت طراحی

تیتر پررنگ اسکن را آسان می‌کند. متن فرعی نرم جلوی داد زدن کپشن را می‌گیرد. باز هم کنتراست کافی برای خواندن بگذارید.

رنگ ارث می‌برد

فرزندان color والد را می‌گیرند مگر خودشان رنگ بگذارند. برای همین رنگ روی یک ظرف می‌تواند کل بلوک متن را تم کند.

رنگ ارثی روی بلوک یادداشت

css
CSS Code
.note {
color: maroon;
}

چه چیزی ارث می‌برد؟

داخل <div class="note">…</div> پاراگراف‌ها و spanها تا وقتی قانون قوی‌تری عوضشان نکند، زرشکی می‌مانند. ارث‌بری قابلیت است — باگ نیست.

currentColor با متن هم‌رنگ می‌شود

currentColor یعنی «همان color محاسبه‌شدهٔ عنصر را بگیر.» وقتی حاشیه یا آیکون باید با متن هم‌قدم بماند، کاربردی است.

حاشیه با currentColor از متن پیروی می‌کند

css
CSS Code
.badge {
color: teal;
border: 2px solid currentColor;
padding: 0.25rem 0.5rem;
}

چرا زحمتش را بکشیم؟

یک بار color را عوض کنید — حاشیه دنبالش می‌آید. دیگر دو تا teal جدا برای هم‌رنگ نگه داشتن ندارید.

کارت تم‌دار (جمع‌بندی)

رنگ ظرف، override آرام‌تر روی فرزند، و تأکید با currentColor را با هم بگذارید.

تم کارت با override و currentColor

css
CSS Code
.card {
color: navy;
border: 1px solid currentColor;
padding: 1rem;
}

.card .muted {
color: gray;
}

color پس‌زمینه نیست

تازه‌کارها گاهی color می‌نویسند وقتی منظورشان پر کردن پشت متن است. از روز اول جدا نگه دارید:

  • color → متن (پیش‌زمینه)
  • background-color → جعبهٔ رنگ‌شده پشت محتوا (به‌زودی)

خودتان امتحان کنید

  1. صفحه‌ای با تیتر، <p class="lead"> و <div class="note"> با یک پاراگراف کوتاه.
  2. بگذارید h1 { color: navy; }، p { color: teal; } و .note { color: maroon; } — هر ناحیه را چک کنید.
  3. روی یک span کوچک .badge { color: teal; border: 2px solid currentColor; } — حاشیه باید با متن یکی باشد.
  4. داخل .card رنگ navy روی کارت و color: gray روی .muted — برای آن خط، override فرزند باید ببرد.
  5. اختیاری: color: transparent روی یک برچسب تزئینی — متن محو می‌شود ولی جای چیدمان می‌ماند.

اشتباهات رایج

  • با color جعبه را رنگ کردن — برای پر کردن، بعداً background-color
  • اختراع اسم (lightishblue) — به کلیدواژهٔ واقعی CSS بچسبید یا منتظر hex/rgb بمانید
  • انتظار اینکه هر ویژگی مثل color ارث ببرد — خیلی‌ها نمی‌برند
  • پریدن مستقیم به رشته‌های بلند hex قبل از جا افتادن رنگ نام‌دار
  • نادیده گرفتن کنتراست (خاکستری خیلی روشن روی سفید) — قشنگ ولی ناخوانا

خلاصه

  • color رنگ پیش‌زمینهٔ متن را می‌گذارد
  • رنگ نام‌دار (teal، navy، maroon، …) برای شروع کافی است
  • فرزندان color را ارث می‌برند تا خودشان عوضش کنند
  • currentColor رنگ محاسبه‌شدهٔ متن را برای حاشیه و دوستانش دوباره به‌کار می‌برد
  • فرمت‌های عمیق (hex، rgb، hsl) برای مقادیر رنگ؛ پس‌زمینه برای درس‌های بعد
  • با تیتر / lead / note تمرین کنید تا ویژگی خودکار شود

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
8
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود