HTML: ألوان HTML
يمكن تمثيل الألوان في HTML بعدة طرق. إتقان طرق تمثيل الألوان المختلفة يمنحك تحكمًا مرنًا ودقيقًا في كل بكسل في تصميم الويب الخاص بك.
1. نظرة عامة على تمثيل الألوان
هناك ثلاث طرق رئيسية لتمثيل الألوان في HTML و CSS: أسماء الألوان و النظام الست عشري و RGB. جميعها يمكنها تعريف الألوان، لكن لكل منها حالات استخدام خاصة:
▶ مثال
<!-- الثلاثة تمثل خلفية حمراء -->
<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) | بنفسجي |
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 | سماوي داكن |
<!-- ست عشري بستة أرقام -->
<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) | كحلي | أزرق عميق |
▶ مثال
<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 | الوصف |
|---|---|---|---|
| 0° | أحمر | 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%) = أسود |
▶ مثال
<!-- أمثلة مزج ألوان 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>
❓ أسئلة شائعة
#FF5733) و RGB (rgb(255, 87, 51))?rgba(0, 0, 0, 0.5) يعني 50% من الأسود الشفاف.أحمر؟red و blue و green)، وهناك فقط 147 اسم لون قياسي. أسماء الألوان بالعربية (مثل أحمر) لن يتم التعرف عليها. التوصيات: 1) استخدم أسماء الألوان بالإنجليزية للسيناريوهات البسيطة;2) استخدم النظام الست عشري أو RGB للدقة;3) استخدم متغيرات CSS عند إدارة العديد من الألوان.📖 ملخص
- أسماء الألوان (مثل red، blue): بسيطة وبديهية، لكن محدودة الدقة
- النظام الست عشري (مثل #FF5733): أكثر طرق الترميز الدقيق شيوعًا في تطوير الويب
- RGB / RGBA: rgb() تستخدم 0-255 لثلاث قنوات، rgba() تضيف شفافية
- HSL / HSLA: hsl() تستخدم hue/saturation/lightness لمزج الألوان، hsla() تضيف شفافية
- قناة Alpha (RGBA/HSLA) تمكن الشفافية الجزئية، بقيم من 0 (شفاف) إلى 1 (معتم)
📝 تمارين
- لوحة ألوان: أنشئ ثلاث كتل ألوان باستخدام ثلاث طرق مختلفة لتمثيل الألوان (اسم لون، ست عشري، RGB). يجب أن تكون كل كتلة 100×100 بكسل، معروضة جنبًا إلى جنب.
- تدرج الشفافية: استخدم rgba() لإنشاء تأثير تدرج أفقي حيث تنتقل الخلفية من معتم بالكامل إلى شفاف بالكامل (تلميح: استخدم
background: linear-gradient()).