الخاصية color
خاصية color
في CSS تضبط القيمة اللونية للأمامية (foreground) للمحتوى النصي للعنصر وللزخرفة النصية (text decorations)، وستضبط أيضًا قيمة الكلمة المحجوزة currentColor
، والتي يمكن أن تستخدم كقيمة غير مباشرة في الخاصيات الأخرى التي لا تأخذ لونها من الخاصية color
مباشرةً (مثل الخاصية border-color
).
p {
color: red;
}
بطاقة الخاصية
القيمة الابتدائية | تختلف من متصفحٍ لآخر. |
---|---|
تُطبَّق على | جميع العناصر. |
قابلة للوراثة | نعم |
قابلة للحركة | نعم |
القيمة المحسوبة | إذا كانت القيمة نصف شفافة، فستكون القيمة المحسوبة تكافئ الدالة rgba() ، وإن لم تكن كذلك فستكافئ الدالة rgb() .
الكلمة المحجوزة |
/* كلمة محجوزة */
color: currentcolor;
/* أسماء الألوان */
color: red;
color: orange;
color: tan;
/* قيم ست عشرية */
color: #090;
color: #009900;
color: #090a;
color: #009900aa;
/* استخدام الدوال */
/* <rgb()> */
color: rgb(34, 12, 64, 0.6);
color: rgba(34, 12, 64, 0.6);
color: rgb(34 12 64 / 0.6);
color: rgba(34 12 64 / 0.3);
/* <hsl()> */
color: hsl(30, 100%, 50%, 0.6);
color: hsla(30, 100%, 50%, 0.6);
color: hsl(30 100% 50% / 0.6);
color: hsla(30 100% 50% / 0.6);
/* القيم العامة */
color: inherit;
color: initial;
color: unset;
لاحظ أنَّ القيمة يجب أن تكون لونًا، ولا يجوز أن تكون تدرجًا لونيًا (gradient).
استخدام الكلمة المحجوزة:
color: currentcolor
استخدام أسماء الألوان:
color: red
color: orange
color: tan
استخدام القيم الست عشرية:
color: #090
color: #009900
color: #090a
color: #009900aa
استخدام الدوال rgb()
و rgba()
و hsl()
و hsla()
:
color: rgb(34, 12, 64)
color: rgba(34, 12, 64, 0.6)
color: hsl(30, 100%, 50%)
color: hsla(30, 100%, 50%, 0.6)
يجدر بالذكر أنَّ قيمة اللون هي قيمة انسيابية، أي لو ضبطت الخاصية color
على أحد العناصر، فسيرثها جميع أبنائه وسيكون لهم لون العنصر الأب نفسه ما لم تغيّر ذلك.
أمثلة
القواعد الآتية ستجعل نص الفقرات باللون الأحمر:
p { color: red; }
p { color: #f00; }
p { color: #ff0000; }
p { color: rgb(255,0,0); }
p { color: rgb(100%, 0%, 0%); }
p { color: hsl(0, 100%, 50%); }
/* 50% شفافية */
p { color: rgba(255, 0, 0, 0.5); }
p { color: hsla(0, 100%, 50%, 0.5); }
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Safari | Opera |
---|---|---|---|---|---|
الدعم الرئيسي | 1.0 | 1.0 | 3.0 | 3.5 | 1.0 |
الدالة rgb() و hsl() | 1.0 | 1.0 | 9.0 | 9.5 | 3.1 |
الدالة rgba() و hsla() | 1.0 | 1.0 | 9.0 | 10.0 | 3.1 |
الصيغة #RRGGBBAA أو #RGBA | غير مدعومة | 49 | ؟ | غير مدعومة | 9.1 |
الدالتان rgb() و hsl() تقبل تحديد الشفافية فيها | غير مدعومة | 52 | ؟ | ؟ | ؟ |
البنية العامة
تقبل الخاصية color
قيمةً واحدةً تُحدِّد اللون.
<color>
تضبط هذه القيمة اللون للمحتوى النصي ولزخرفة النص في العنصر.
البنية الرسمية
color: <color>;
إذ يمكن أن تكون القيمة اللونية <color>
مُحدَّدة عبر الدالة rgb()
أو rgba()
أو hsl()
أو hsla()
أو كقيمة ست عشرية أو اسم أحد الألوان أو القيمة currentcolor
:
<color> = <rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>
حيث:
<rgb()> = rgb( [ [ <percentage>{3} | <number>{3} ] [ / <alpha-value> ]? ] | [ [ <percentage>#{3} | <number>#{3} ] , <alpha-value>? ] )
<rgba()> = rgba( [ [ <percentage>{3} | <number>{3} ] [ / <alpha-value> ]? ] | [ [ <percentage>#{3} | <number>#{3} ] , <alpha-value>? ] )
<hsl()> = hsl( [ <hue> <percentage> <percentage> [ / <alpha-value> ]? ] | [ <hue>, <percentage>, <percentage>, <alpha-value>? ] )
<hsla()> = hsla( [ <hue> <percentage> <percentage> [ / <alpha-value> ]? ] | [ <hue>, <percentage>, <percentage>, <alpha-value>? ] )
حيث:
<alpha-value> = <number> | <percentage>
<hue> = <number> | <angle>
انظر أيضًا
- نوع البيانات
<color>
. - الخاصيات الأخرى المتعلقة بالألوان:
background-color
وborder-color
وoutline-color
وtext-decoration-color
وtext-emphasis-color
وtext-shadow
وcaret-color
وcolumn-rule-color
.
مصادر ومواصفات
- مسودة CSS Color Module Level 4، أبرز ما جاء فيها هو السماح بإضافة قيم الشفافية (عبر alpha) في الدالتين
rgb()
وhsl()
مما يجعل الدالتينrbga()
وhsla()
مهملتين؛ وسمحت باستخدام قيم ست عشرية ذات أربع أو ثماني أرقام، حيث سيُعدّ آخر محرف (أو محرفين) على أنه قيمة الشفافية alpha؛ وأضافت الدوالhwb()
وdevice-cmyk()
وcolor()
. - مسودة CSS Transitions.
- مواصفة CSS Color Module Level 3، أبرز ما جاء فيها هو إضافة الدوال
rgba()
وhsl()
وhsla()
. - مواصفة CSS Level 2 (Revision 1).
- مواصفة CSS Level 1.