HTML: ألوان HTML

يمكن تمثيل الألوان في HTML بعدة طرق. إتقان طرق تمثيل الألوان المختلفة يمنحك تحكمًا مرنًا ودقيقًا في كل بكسل في تصميم الويب الخاص بك.

1. نظرة عامة على تمثيل الألوان

هناك ثلاث طرق رئيسية لتمثيل الألوان في HTML و CSS: أسماء الألوان و النظام الست عشري و RGB. جميعها يمكنها تعريف الألوان، لكن لكل منها حالات استخدام خاصة:

▶ مثال

HTML
<!-- الثلاثة تمثل خلفية حمراء -->
<div style="background-color: red;">اسم اللون: red</div>
<div style="background-color: #FF0000;">ست عشري: #FF0000</div>
<div style="background-color: rgb(255,0,0);">RGB: rgb(255,0,0)</div>
▶ جرّب الكود

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

يدعم HTML أكثر من 140 اسم لون قياسي. الأكثر استخدامًا تشمل: red، blue، green، black، white، gray، orange، purple، yellow، وغيرها. استخدام أسماء الألوان هو الأكثر بديهية — لا حاجة لحفظ قواعد الترميز.

(1) أسماء الألوان الشائعة

اسم اللون Hex RGB الوصف
red #FF0000 rgb(255,0,0) أحمر
green #008000 rgb(0,128,0) أخضر (قياسي)
lime #00FF00 rgb(0,255,0) أخضر ليموني (ساطع)
blue #0000FF rgb(0,0,255) أزرق
black #000000 rgb(0,0,0) أسود
white #FFFFFF rgb(255,255,255) أبيض
gray #808080 rgb(128,128,128) رمادي
silver #C0C0C0 rgb(192,192,192) فضي
orange #FFA500 rgb(255,165,0) برتقالي
yellow #FFFF00 rgb(255,255,0) أصفر
purple #800080 rgb(128,0,128) أرجواني
cyan #00FFFF rgb(0,255,255) سماوي
magenta #FF00FF rgb(255,0,255) أرجواني فوشي
pink #FFC0CB rgb(255,192,203) وردي
brown #A52A2A rgb(165,42,42) بني
gold #FFD700 rgb(255,215,0) ذهبي
navy #000080 rgb(0,0,128) كحلي
teal #008080 rgb(0,128,128) أخضر مزرق
olive #808000 rgb(128,128,0) زيتوني
coral #FF7F50 rgb(255,127,80) مرجاني
tomato #FF6347 rgb(255,99,71) طماطمي
skyblue #87CEEB rgb(135,206,235) أزرق سماوي
violet #EE82EE rgb(238,130,238) بنفسجي
📌 نصيحة: أسماء الألوان بسيطة وبديهية، رائعة للنماذج الأولية السريعة والتعليم. ومع ذلك، في بيئات الإنتاج، أسماء الألوان لها اختيار محدود وتفتقر إلى الدقة — يُوصى باستخدام النظام الست عشري أو RGB بدلاً من ذلك.


3. النظام الست عشري (Hex)

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

(1) ألوان Hex الشائعة

اللون Hex قيم RGB الوصف
أحمر نقي #FF0000 255,0,0 قناة الأحمر أقصى
أخضر نقي #00FF00 0,255,0 قناة الأخضر أقصى
أزرق نقي #0000FF 0,0,255 قناة الأزرق أقصى
أسود نقي #000000 0,0,0 جميع القنوات 0
أبيض نقي #FFFFFF 255,255,255 جميع القنوات أقصى
أزرق سماوي #87CEEB 135,206,235 أزرق فاتح
أزرق داكن #00008B 0,0,139 أزرق عميق
مرجاني #FF7F50 255,127,80 برتقالي وردي
طماطمي #FF6347 255,99,71 أحمر برتقالي
ذهبي #FFD700 255,215,0 أصفر ذهبي
زيتوني #808000 128,128,0 أصفر داكن
كستنائي #800000 128,0,0 أحمر داكن
كحلي #000080 0,0,128 أزرق عميق
بنفسجي #EE82EE 238,130,238 أرجواني وردي
أخضر مزرق #00CED1 0,206,209 سماوي داكن
HTML
<!-- ست عشري بستة أرقام -->
<div style="background-color: #FF5733;">#FF5733 (برتقالي)</div>
### ▶ مثال
<div style="background-color: #33A1FF;">#33A1FF (أزرق)</div>
<div style="background-color: #2ECC71;">#2ECC71 (أخضر)</div>

<!-- اختصار ثلاثة أحرف (عندما يكون كل زوج متطابقًا) -->
<div style="background-color: #F00;">#F00 يساوي #FF0000 (أحمر)</div>
<div style="background-color: #0F0;">#0F0 يساوي #00FF00 (أخضر)</div>
<div style="background-color: #00F;">#00F يساوي #0000FF (أزرق)</div>

4. RGB و RGBA

دالة rgb(red, green, blue) تستخدم قيمًا عشرية من 0 إلى 255 لتمثيل القنوات الأحمر والأخضر والأزرق. مقارنة بالنظام الست عشري، RGB أقرب للفهم البشري البديهي للأرقام. rgba() تضيف قناة شفافية Alpha فوق RGB.

(1) قيم RGB وتطابق الألوان

قيمة RGB اللون الوصف
rgb(255, 0, 0) أحمر قناة الأحمر أقصى
rgb(0, 255, 0) أخضر قناة الأخضر أقصى
rgb(0, 0, 255) أزرق قناة الأزرق أقصى
rgb(255, 255, 0) أصفر أحمر + أخضر
rgb(0, 255, 255) سماوي أخضر + أزرق
rgb(255, 0, 255) أرجواني فوشي أحمر + أزرق
rgb(255, 255, 255) أبيض جميع القنوات أقصى
rgb(0, 0, 0) أسود جميع القنوات 0
rgb(128, 128, 128) رمادي جميع القنوات متوسطة
rgb(255, 165, 0) برتقالي أحمر + أخضر جزئي
rgb(255, 192, 203) وردي أحمر + قدر صغير من الأخضر/الأزرق
rgb(165, 42, 42) بني أحمر داكن + قليل من الأخضر
rgb(0, 128, 128) أخضر مزرق أخضر + أزرق بالتساوي
rgb(128, 0, 128) أرجواني أحمر + أزرق بالتساوي
rgb(0, 0, 128) كحلي أزرق عميق

▶ مثال

HTML
<div style="background-color: rgb(255, 99, 71);">
rgb(255, 99, 71) — طماطم
</div>
<div style="background-color: rgb(60, 179, 113);">
rgb(60, 179, 113) — أخضر بحري متوسط
</div>

<!-- rgba تضيف شفافية، المعامل الأخير 0~1 -->
<div style="background-color: rgba(255, 0, 0, 0.3);">
أحمر شبه شفاف (عتامة 30%)
</div>
<div style="background-color: rgba(0, 0, 255, 0.6);">
أزرق شبه شفاف (عتامة 60%)
</div>
▶ جرّب الكود

5. HSL

hsl(hue, saturation, lightness) هو نموذج ألوان يتوافق بشكل أفضل مع الحدس البشري. Hue هي زاوية اللون (0-360 درجة)، Saturation هي الكثافة (نسبة مئوية)، Lightness هي السطوع (نسبة مئوية). وبالمثل، hsla() تدعم الشفافية.

(1) عجلة ألوان HSL

الزاوية اللون قيمة HSL الوصف
أحمر hsl(0, 100%, 50%) بداية اللون
30° برتقالي hsl(30, 100%, 50%) انتقال أحمر←أصفر
60° أصفر hsl(60, 100%, 50%) أحمر + أخضر
90° أصفر مخضر hsl(90, 100%, 50%) انتقال أصفر←أخضر
120° أخضر hsl(120, 100%, 50%) نقطة منتصف اللون
150° أخضر مزرق hsl(150, 100%, 50%) انتقال أخضر←سماوي
180° سماوي hsl(180, 100%, 50%) أخضر + أزرق
210° أزرق سماوي hsl(210, 100%, 50%) انتقال سماوي←أزرق
240° أزرق hsl(240, 100%, 50%) نهاية اللون
270° أرجواني hsl(270, 100%, 50%) انتقال أزرق←أحمر
300° أرجواني فوشي hsl(300, 100%, 50%) أزرق + أحمر
330° وردي hsl(330, 100%, 50%) انتقال فوشي←أحمر
360° أحمر hsl(360, 100%, 50%) العودة إلى البداية

(2) تعديلات الكثافة والسطوع

التعديل التأثير المثال
كثافة 100% الأكثر حيوية hsl(0, 100%, 50%) = أحمر نقي
كثافة 50% أكثر نعومة hsl(0, 50%, 50%) = أحمر داكن
كثافة 0% رمادي hsl(0, 0%, 50%) = رمادي
سطوع 50% عادي hsl(0, 100%, 50%) = أحمر نقي
سطوع 100% أبيض تمامًا hsl(0, 100%, 100%) = أبيض
سطوع 0% أسود تمامًا hsl(0, 100%, 0%) = أسود

▶ مثال

HTML
<!-- أمثلة مزج ألوان HSL -->
<div style="background-color: hsl(0, 100%, 50%);">
hsl(0, 100%, 50%) — أحمر نقي
</div>
<div style="background-color: hsl(120, 100%, 50%);">
hsl(120, 100%, 50%) — أخضر نقي
</div>
<div style="background-color: hsl(240, 100%, 50%);">
hsl(240, 100%, 50%) — أزرق نقي
</div>
<div style="background-color: hsl(200, 80%, 60%);">
hsl(200, 80%, 60%) — أزرق ناعم
</div>

<!-- hsla تضيف شفافية -->
<div style="background-color: hsla(0, 100%, 50%, 0.4);">
hsla(0, 100%, 50%, 0.4) — أحمر شبه شفاف
</div>
▶ جرّب الكود
💡 اختيار المصمم: HSL أكثر ملاءمة للمصممين. ببساطة اضبط hue للتنقل عبر الألوان المختلفة، عدّل saturation للتحكم في الحيوية، وغيّر lightness للتحكم في السطوع — ثلاثة أبعاد فقط لتوليد مجموعة ألوان كاملة بسهولة.


❓ أسئلة شائعة

س ما الفرق بين النظام الست عشري (#FF5733) و RGB (rgb(255, 87, 51))?
ج كلاهما يمثل نفس اللون، مكتوب بطريقة مختلفة. النظام الست عشري يستخدم 6 أرقام ست عشرية، كل زوج يمثل قنوات الأحمر والأخضر والأزرق (00-FF). RGB يستخدم ثلاثة أرقام عشرية من 0-255. النظام الست عشري أكثر اختصارًا (6 أحرف)، RGB أكثر حدسية (القيم مرئية مباشرة). في الممارسة العملية، النظام الست عشري أكثر شيوعًا؛ استخدم RGBA عند الحاجة إلى شفافية.
س متى أستخدم RGBA؟ كيف أحسب الشفافية؟
ج تضيف RGBA قناة Alpha (شفافية) إلى RGB، بقيم من 0 (شفاف تمامًا) إلى 1 (معتم تمامًا). حالات الاستخدام: 1) خلفيات شفافة جزئيًا (طبقات تراكب، تأثير زجاج مصنفر);2) تراكب نص على صور لتحسين القراءة;3) خلفيات أدوات التلميح. حساب الشفافية: rgba(0, 0, 0, 0.5) يعني 50% من الأسود الشفاف.
س هل HSL أفضل من RGB؟
ج HSL (درجة اللون، التشبع، السطوع) أكثر حدسية للبشر. RGB يتطلب ضبط ثلاث قيم בו זמנية للحصول على اللون المطلوب، بينما يتيح HSL: 1) ضبط درجة اللون (0-360 درجة) فقط للتنقل عبر الطيف الكامل;2) ضبط التشبع للتحكم في الحيوية;3) ضبط السطوع للتحكم في السطوع. المصممون يستخدمون HSL عادةً لتوليد مخططات الألوان؛ المطورون يستخدمون RGB/النظام الست عشري.
س هل يمكنني استخدام أسماء الألوان بالعربية مثل أحمر؟
ج لا. HTML/CSS يدعم فقط أسماء الألوان بالإنجليزية (مثل red و blue و green)، وهناك فقط 147 اسم لون قياسي. أسماء الألوان بالعربية (مثل أحمر) لن يتم التعرف عليها. التوصيات: 1) استخدم أسماء الألوان بالإنجليزية للسيناريوهات البسيطة;2) استخدم النظام الست عشري أو RGB للدقة;3) استخدم متغيرات CSS عند إدارة العديد من الألوان.

📖 ملخص

📝 تمارين

  1. لوحة ألوان: أنشئ ثلاث كتل ألوان باستخدام ثلاث طرق مختلفة لتمثيل الألوان (اسم لون، ست عشري، RGB). يجب أن تكون كل كتلة 100×100 بكسل، معروضة جنبًا إلى جنب.
  2. تدرج الشفافية: استخدم rgba() لإنشاء تأثير تدرج أفقي حيث تنتقل الخلفية من معتم بالكامل إلى شفاف بالكامل (تلميح: استخدم background: linear-gradient()).
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%