ألوان CSS

✅ نوصي بـ HSL: HSL ودية جداً للمصممين — عند تعديل الألوان، تحتاج فقط لتغيير قيمة اللون (H) مع الحفاظ على التشبع والسطوع ثابتين للحصول على درجات مختلفة من نفس عائلة الألوان.

📌 حالة استخدام: قناة A (ألفا) في RGBA تتيح لك التحكم في الشفافية، مثالية للأقنعة المتراكبة والخلفيات شبه الشفافة. مثلاً، rgba(0, 0, 0, 0.5) هي طبقة سوداء شفافة بنسبة 50%.

💡 نصيحة: #FF0000 يمكن اختصاره إلى #F00 — عندما يكون كل زوج في الأرقام الستة متماثلاً، يمكن ضغطه إلى ثلاثة أرقام. كذلك #aabbcc تصبح #abc. يستحق حفظ القيم السداسية عشرية للألوان الشائعة: #fff (أبيض)، #000 (أسود)، #f00 (أحمر).

الألوان هي أحد العناصر البصرية الأكثر أساسية في تصميم الويب. CSS يوفر طرقاً متعددة لتمثيل الألوان، من أسماء الألوان البسيطة إلى HSL المرنة، لكل منها حالات استخدامها المناسبة.

مرجع سريع لقيم الألوان

التنسيق مثال الوصف
اسم اللون red، blue، tomato، skyblue بديهي لكن محدود (~140 لون)
HEX #ff0000، #333، #e3f2fd التنسيق الأكثر شيوعاً، 6 أو 3 أرقام مختصرة
RGB rgb(255, 0, 0)، rgb(51, 51, 51) قيم أحمر، أخضر، أزرق 0-255
RGBA rgba(255, 0, 0, 0.5) RGB + شفافية (ألفا: 0-1)
HSL hsl(0, 100%, 50%) لون(0-360) + تشبع(0-100%) + سطوع(0-100%)
HSLA hsla(0, 100%, 50%, 0.5) HSL + شفافية
opacity 0.5، 1، 0.25 شفافية شاملة (تؤثر على جميع المحتوى بما في ذلك الأبناء)

1. أسماء الألوان

CSS يدعم أكثر من 140 اسم لون مُعرَّف مسبقاً، الأكثر بديهية في الاستخدام.

مثال

HTML
<style>
p {
  color: red;
}
h1 {
  color: blue;
}
h2 {
  color: green;
}
</style>
<p>هذا مثال على فقرة.</p>
<h1>عنوان المستوى الأول</h1>
<h2>عنوان المستوى الثاني</h2>
▶ جرّب الكود

أسماء الألوان الشائعة تشمل: red، blue، green، black، white، gray، orange، purple، yellow، pink، gold، navy، teal، coral، tomato، skyblue، violet، brown، cyan، magenta، lime، olive، silver.

📌 نصيحة: أسماء الألوان بسيطة وبديهية، رائعة للنمذجة السريعة. لكن في بيئات الإنتاج، أسماء الألوان لديها خيارات محدودة وتفتقر إلى الدقة — يُنصح بالتدوين السداسي عشري أو RGB.

2. سداسي عشري (HEX)

الألوان السداسية عشرية تبدأ بـ #، التنسيق #RRGGBB حيث RR هو أحمر، GG هو أخضر، BB هو أزرق، النطاق 00 إلى FF (سداسي عشري).

مثال

HTML
<style>
.hex-demo {
  color: #ff0000;      /* أحمر */
  background: #333;    /* رمادي داكن (اختصار 3 أرقام) */
  border: 1px solid #e3f2fd;  /* أزرق فاتح */
}
</style>
<div class="hex-demo">مثال لون سداسي عشري</div>
▶ جرّب الكود

قواعد الاختصار:

3. RGB و RGBA

RGB يستخدم قيماً عشرية 0-255 لقنوات الأحمر والأخضر والأزرق. RGBA يضيف شفافية ألفا (0-1).

مثال

HTML
<style>
.rgb-demo {
  color: rgb(255, 0, 0);        /* أحمر */
  background: rgba(0, 0, 0, 0.5);  /* أسود شفاف 50% */
}
</style>
<div class="rgb-demo">مثال لون RGB/RGBA</div>
▶ جرّب الكود

4. HSL و HSLA

HSL يستخدم اللون (0-360)، التشبع (0-100%)، السطوع (0-100%). HSLA يضيف شفافية ألفا.

مثال

HTML
<style>
.hsl-demo {
  color: hsl(0, 100%, 50%);        /* أحمر */
  background: hsla(120, 100%, 50%, 0.3);  /* أخضر شفاف 30% */
}
</style>
<div class="hsl-demo">مثال لون HSL</div>
▶ جرّب الكود

5. خاصية opacity

خاصية opacity تتحكم في شفافية العنصر الشاملة (0-1)، مؤثرة على جميع المحتوى بما في ذلك الأبناء.

مثال

HTML
<style>
.opacity-demo {
  opacity: 0.5;
  background: blue;
  color: white;
  padding: 20px;
}
</style>
<div class="opacity-demo">عنصر شفاف 50% (جميع المحتوى متأثر)</div>
▶ جرّب الكود

❓ أسئلة شائعة

س ما الفرق بين ألوان HEX و RGB؟
ج كلاهما يمثل نفس اللون، فقط بتنسيقات مختلفة. HEX يستخدم 6 أرقام سداسية عشرية (0-9، A-F)، RGB يستخدم ثلاثة أرقام عشرية (0-255). HEX أكثر إيجازاً (مثلاً `#ff0000`)، RGB أكثر بديهية لفهم القيم (مثلاً `rgb(255, 0, 0)`). في الممارسة، HEX يُستخدم بشكل أكثر شيوعاً.
س متى أستخدم RGBA مقابل opacity؟
ج RGBA تتحكم في شفافية خاصية محددة (مثل الخلفية)، بينما opacity تتحكم في شفافية العنصر بأكمله بما في ذلك جميع الأبناء. إذا أردت شفافية الخلفية فقط without التأثير على النص، استخدم RGBA. إذا أردت العنصر كاملاً شفافاً، استخدم opacity.
س ما ميزة HSL على RGB؟
ج HSL أكثر بديهية للمصممين. يمكنك بسهولة إنشاء تنويعات ألوان بتعديل اللون فقط مع الحفاظ على التشبع والسطوع ثابتين. RGB يتطلب تعديل ثلاث قيم في وقت واحد. HSL تجعل من الأسهل إنشاء مخططات ألوان متناسقة وفهم العلاقات بين الألوان.

📖 ملخص

📝 تمارين

  1. أنشئ لوحة ألوان باستخدام 5 طرق مختلفة لتمثيل الألوان على الأقل.
  2. أنشئ تأثير تراكب شفاف باستخدام RGBA.
  3. أنشئ مخطط ألوان باستخدام HSL ب변_valor فقط قيمة اللون.
  4. قارن بين opacity: 0.5 وbackground: rgba(0,0,0,0.5).
100%