الألوان في CSS — تصميم CSS
الألوان في CSS
طرق كتابة اللون
.a { color: tomato; } /* اسم: ~150 اسماً جاهزاً */
.b { color: #1e40af; } /* hex: أحمر أخضر أزرق بالست عشري */
.c { color: #1e40af80; } /* hex بشفافية (آخر خانتين) */
.d { color: rgb(30 64 175); } /* rgb: كل قناة 0–255 */
.e { color: rgb(30 64 175 / 50%); } /* مع شفافية */
.f { color: hsl(224 71% 40%); } /* hsl: درجة، تشبع، إضاءة */الصيغة الحديثة تفصل القيم بمسافات والشفافية بعد /. ستجد كثيراً الصيغة القديمة rgba(30, 64, 175, 0.5) وهي ما زالت صحيحة.
لماذا HSL مريح؟
| المكوّن | المدى | المعنى |
|---|---|---|
| Hue (الدرجة) | 0–360 | موقع اللون على الدائرة: 0 أحمر، 120 أخضر، 240 أزرق |
| Saturation (التشبع) | 0–100% | 0% رمادي، 100% لون صارخ |
| Lightness (الإضاءة) | 0–100% | 0% أسود، 50% اللون نفسه، 100% أبيض |
لصنع درجات من نفس اللون (زر عادي، عند المرور، معطّل) غيّر الإضاءة فقط:
.btn { background: hsl(224 71% 40%); }
.btn:hover { background: hsl(224 71% 32%); } /* أغمق قليلاً */
.btn:disabled { background: hsl(224 20% 70%); }أين تُستخدم الألوان؟
color (النص)، background-color، border-color، outline-color، box-shadow، text-decoration-color. والكلمة currentColor تعني "لون النص الحالي" — مفيدة للأيقونات والحدود التي تتبع النص.
الشفافية: opacity أم alpha؟
- opacity: 0.5 يجعل العنصر كله شفافاً (بما فيه النص والأبناء).
- لون بشفافية rgb(0 0 0 / 50%) يجعل تلك الخاصية فقط شفافة — لخلفية شفافة ونص واضح استخدم هذا.
التدرجات
التدرج صورة، فيُكتب في background أو background-image (لا في background-color):
.hero { background: linear-gradient(135deg, #6366f1, #ec4899); }
.spot { background: radial-gradient(circle, #fde68a, transparent 70%); }
.stripes { background: linear-gradient(to left, navy 50%, gold 50%); } /* حد حاد */التباين: القراءة أولاً
نص رمادي فاتح على أبيض قد يبدو أنيقاً لكنه صعب القراءة لكثيرين. معيار الوصولية (WCAG) يطلب نسبة تباين 4.5:1 على الأقل للنص العادي و 3:1 للنص الكبير. أدوات المطور في Chrome تعرض نسبة التباين عند النقر على مربع اللون.
لوحة ألوان محدودة
اختر لوناً أساسياً، ولوناً ثانوياً، ودرجات رمادية، وألوان الحالات (نجاح، تحذير، خطأ) — وخزّنها في متغيرات (درس المتغيرات). الاتساق أهم من كثرة الألوان.
تمرين
اختر لوناً أساسياً بصيغة hsl، واصنع منه 3 درجات للزر (عادي، hover، معطّل)، وخلفية بطاقة بشفافية 10% من نفس اللون. تحقق من تباين نص الزر في أدوات المطور.
/* أسماء الألوان */
.red-text {
color: red;
background-color: lightcoral;
}
/* Hexadecimal */
.hex-example {
color: #3498db; /* أزرق */
background: #2ecc71; /* أخضر */
border-color: #e74c3c; /* أحمر */
}
/* RGB */
.rgb-example {
color: rgb(52, 152, 219);
background: rgb(46, 204, 113);
}
/* RGBA مع شفافية */
.rgba-example {
background: rgba(0, 0, 0, 0.5); /* أسود 50% شفاف */
color: rgba(255, 255, 255, 0.9);
}
/* HSL */
.hsl-example {
color: hsl(210, 79%, 46%); /* أزرق */
background: hsl(145, 63%, 49%); /* أخضر */
}
/* تدرج لوني */
.gradient {
background: linear-gradient(
45deg,
#667eea,
#764ba2
);
}اختبر فهمك