رنگها (Colors)
تمام روشهای تعریف رنگ در CSS: نام رنگ، HEX، RGB، RGBA، HSL، HSLA و رنگهای مدرن
رنگ در CSS
رنگ یکی از مهمترین بخشهای طراحی وب است. CSS روشهای مختلفی برای تعریف رنگ ارائه میدهد که هرکدام کاربرد خاص خود را دارند.
روشهای تعریف رنگ
| روش | مثال | توضیح |
|---|---|---|
| نام رنگ | red | ۱۴۰ رنگ نامگذاریشده |
| HEX | #ff0000 | سیستم شانزدهشانزدهی |
| RGB | rgb(255, 0, 0) | قرمز، سبز، آبی |
| RGBA | rgba(255, 0, 0, 0.5) | RGB با شفافیت |
| HSL | hsl(0, 100%, 50%) | رنگ، اشباع، روشنی |
| HSLA | hsla(0, 100%, 50%, 0.5) | HSL با شفافیت |
| currentColor | currentColor | رنگ فعلی متن |
۱. نام رنگها (Color Names)
سادهترین روش — CSS از ۱۴۰ نام رنگ پشتیبانی میکند:
p { color: red; }
h1 { color: dodgerblue; }
.box { background-color: coral; }
.transparent { background-color: transparent; }
رنگهای پرکاربرد
| نام | HEX | نمایش |
|---|---|---|
| red | #ff0000 | قرمز |
| green | #008000 | سبز |
| blue | #0000ff | آبی |
| white | #ffffff | سفید |
| black | #000000 | مشکی |
| orange | #ffa500 | نارنجی |
| gray | #808080 | خاکستری |
۲. کدهای HEX (هگزادسیمال)
رایجترین روش در طراحی وب. از ۶ رقم شانزدهشانزدهی تشکیل شده — دو رقم برای هر رنگ اصلی:
/* #RRGGBB */
p { color: #ff0000; } /* قرمز خالص */
h1 { color: #00ff00; } /* سبز خالص */
a { color: #0000ff; } /* آبی خالص */
div { background: #3498db; } /* آبی روشن */
مخففنویسی HEX (Shorthand)
اگر هر جفت رقم یکی باشد، میتوان خلاصهنویسی کرد:
/* کامل → مخفف */
#ff0000 → #f00 /* قرمز */
#ffffff → #fff /* سفید */
#000000 → #000 /* مشکی */
#aabbcc → #abc /* خاکستری مایل به آبی */
HEX با شفافیت (۸ رقم)
/* #RRGGBBAA */
background: #ff000080; /* قرمز با ۵۰٪ شفافیت */
۳. RGB و RGBA
/* #RRGGBBAA */
background: #ff000080; /* قرمز با ۵۰٪ شفافیت */روش RGB از سه عدد ۰ تا ۲۵۵ تشکیل شده — به ترتیب قرمز، سبز، آبی:
/* RGB — هر کانال ۰ تا ۲۵۵ */
p { color: rgb(255, 0, 0); } /* قرمز */
h1 { color: rgb(0, 0, 0); } /* مشکی */
div { background: rgb(52, 152, 219); } /* آبی */
RGBA با شفافیت
پارامتر چهارم (Alpha) بین ۰ (کاملاً شفاف) تا ۱ (کاملاً مات):
/* RGBA — alpha از ۰ تا ۱ */
.overlay {
background: rgba(0, 0, 0, 0.5); /* مشکی نیمهشفاف */
}
.glass {
background: rgba(255, 255, 255, 0.2); /* شیشهای */
}
۴. HSL و HSLA
HSL روشی شهودیتر است — بر اساس رنگ (Hue)، اشباع (Saturation) و روشنایی (Lightness):
/* HSL */
p { color: hsl(0, 100%, 50%); } /* قرمز */
h1 { color: hsl(120, 100%, 50%); } /* سبز */
a { color: hsl(240, 100%, 50%); } /* آبی */
| پارامتر | محدوده | توضیح |
|---|---|---|
| Hue (رنگ) | ۰ تا ۳۶۰ | زاویه روی چرخه رنگ |
| Saturation (اشباع) | ۰٪ تا ۱۰۰٪ | ۰٪ خاکستری، ۱۰۰٪ کامل |
| Lightness (روشنایی) | ۰٪ تا ۱۰۰٪ | ۰٪ مشکی، ۵۰٪ نرمال، ۱۰۰٪ سفید |
چرخه رنگ HSL
| Hue | رنگ |
|---|---|
| ۰ | قرمز |
| ۶۰ | زرد |
| ۱۲۰ | سبز |
| ۱۸۰ | فیروزهای |
| ۲۴۰ | آبی |
| ۳۰۰ | بنفش |
| ۳۶۰ | قرمز (یک دور کامل) |
۵. رنگهای مدرن CSS
hex با alpha
background: #ff000080; /* قرمز ۵۰٪ شفاف */
color-mix()
/* ترکیب دو رنگ */
background: color-mix(in srgb, red 50%, blue 50%);
color() function
/* فضای رنگی جدید */
background: color(display-p3 1 0 0);
۶. کلمات کلیدی خاص
| کلمه | توضیح |
|---|---|
transparent | کاملاً شفاف |
currentColor | رنگ متن فعلی عنصر |
inherit | رنگ را از والد به ارث ببرد |
initial | رنگ پیشفرض مرورگر |
ویژگیهای مرتبط با رنگ
.element {
color: #333; /* رنگ متن */
background-color: #fff; /* رنگ پسزمینه */
border-color: #ddd; /* رنگ حاشیه */
outline-color: blue; /* رنگ طرح کلی */
text-decoration-color: red; /* رنگ خط زیر لینک */
box-shadow: 0 0 10px rgba(0,0,0,0.3); /* رنگ سایه */
filter: hue-rotate(90deg); /* چرخش رنگ */
}
گرادیانت رنگی
/* گرادیانت خطی */
.gradient {
background: linear-gradient(to right, red, blue);
}
/* گرادیانت شعاعی */
.radial {
background: radial-gradient(circle, yellow, red);
}
بهترین شیوهها
- از HSL برای طراحی تم استفاده کنید — تنظیم اشباع و روشنی آسانتر است
- از RGBA برای پسزمینههای شفاف استفاده کنید
- کد HEX را حروف کوچک بنویسید (
#fffنه#FFF) - از متغیرهای CSS برای رنگها استفاده کنید
- کنتراست رنگ متن و پسزمینه را رعایت کنید (حداقل ۴.۵:۱)
- از رنگهای استاندارد برند استفاده کنید
نکات مهم
- HEX مخفف Hexadecimal (شانزدهشانزدهی) است
- RGB بین ۰ تا ۲۵۵ است، نه ۰ تا ۱۰۰
- HSL برای ساخت پالت رنگی شهودیتر است
- مقدار Alpha در RGBA عددی اعشاری بین ۰ و ۱ است
transparentمعادلrgba(0,0,0,0)است- برای دسترسپذیری، کنتراست رنگها را با ابزارهای آنلاین بررسی کنید
این مبحث بخشی از دوره آموزش کامل CSS است.