دليل تحويل الألوان في CSS و JAVASCRIPT

تحويل ألوان HEX إلى RGB و RGBA مع الشفافية في CSS و JavaScript

دليل شامل لتحويل نماذج الألوان: المعادلات الحسابية الدقيقة، دوال جافا سكريبت النقية لأكواد 3 و 6 و 8 خانات، واستخدام دوال CSS الحديثة.

يتطلب تصميم واجهات المستخدم الحديثة وأنظمة الثيمات تحويل رموز الألوان السداسية عشرية الثابتة (مثل #3b82f6) إلى قنوات RGB أو RGBA للتحكم ديناميكياً في درجة الشفافية (rgba(59, 130, 246, 0.5)) أو لحساب نسب التباين وفق معايير الوصول WCAG. يقدم هذا الدليل المعادلات الرياضية الحسابية الدقيقة، وأكواد JavaScript عالية الكفاءة دون أي مكتبات خارجية، ودعم أكواد HEX المكونة من 8 خانات.

Interactive Solution Utility

100% Client-Side • Zero Telemetry

أدخل أي كود لوني HEX في الأداة التفاعلية أدناه لتوليد قيم RGB و RGBA مع الشفافية المخصصة و HSL ومتغيرات CSS فورياً:

تحويل ألوان محلي بالكامل 100% في المتصفح • متوافق مع معايير W3C CSS Color 4 • صفر اتصالات شبكية
أدوات التصميم و CSS
أنماط تصميم شائعة
مقابل الأبيض (#FFFFFF)
3.68:1
AA Large Only
مقابل الأسود (#000000)
5.71:1
AA Pass

صيغ الألوان المحولة

HEX (6-digit)
#3B82F6
HEX8 (Alpha)
#3B82F6FF
RGB
rgb(59, 130, 246)
RGBA
rgba(59, 130, 246, 1)
HSL
hsl(217, 91%, 60%)
HSLA
hsla(217, 91%, 60%, 1)
HSV / HSB
hsv(217, 76%, 96%)
CMYK (Print)
cmyk(76%, 47%, 0%, 4%)
CSS OKLCH
oklch(62% 0.19 255)

مقياس التدرجات والظلال (Tailwind 50 - 950)

Click any swatch to copy

التناغم والانسجام اللوني

تصدير أكواد CSS والمتغيرات البرمجية

:root {
  --color-primary: #3B82F6;
  --color-primary-rgb: 59, 130, 246;
  --color-primary-hsl: 217deg 91% 60%;
}

1. الأساس الرياضي: تحويل النظام السداسي عشري HEX إلى قنوات RGB

تمثل أكواد HEX شدة الضوء الأحمر والأخضر والأزرق بنظام العد الست عشري (من 0 إلى F). كل زوج من الرموز يمثل عدداً صحيحاً من 8 بت يقع بين 0 و 255 (16² - 1 = 255). لتحويل الزوج `3B` إلى النظام العشري: `R = (3 × 16¹) + (11 × 16⁰) = 48 + 11 = 59`. وبتطبيق المعادلة على القنوات الثلاث، يتحول الكود `#3B82F6` بدقة إلى `rgb(59, 130, 246)`.
javascript Code Example
// التحويل الحسابي اليدوي في جافا سكريبت:
const hex = "3B82F6";
const r = parseInt(hex.slice(0, 2), 16); // 59
const g = parseInt(hex.slice(2, 4), 16); // 130
const b = parseInt(hex.slice(4, 6), 16); // 246
console.log(`rgb(${r}, ${g}, ${b})`);

استخراج قنوات الألوان باستخدام parseInt بالأساس 16.

2. دالة جافا سكريبت متكاملة تدعم أكواد 3 و 6 و 8 خانات

تتطلب البيئات الإنتاجية التعامل مع الأكواد المختصرة المكونة من 3 خانات (`#fff`)، والأكواد القياسية من 6 خانات (`#3b82f6`)، والأكواد التي تدعم قناة الشفافية من 8 خانات (`#3b82f680`). في الأكواد المختصرة يتم تكرار كل حرف مرتين (`#abc` تصبح `#aabbcc`).
javascript Code Example
function hexToRgba(hex, overrideAlpha) {
  let clean = hex.replace(/^#/, "").trim();
  if (clean.length === 3) {
    clean = clean.split("").map(c => c + c).join("");
  }
  if (clean.length === 6) {
    const num = parseInt(clean, 16);
    const r = (num >> 16) & 255;
    const g = (num >> 8) & 255;
    const b = num & 255;
    const a = overrideAlpha !== undefined ? overrideAlpha : 1;
    return `rgba(${r}, ${g}, ${b}, ${a})`;
  }
  if (clean.length === 8) {
    const num = parseInt(clean, 16);
    const r = (num >> 24) & 255;
    const g = (num >> 16) & 255;
    const b = (num >> 8) & 255;
    const a = overrideAlpha !== undefined ? overrideAlpha : +(num & 255) / 255;
    return `rgba(${r}, ${g}, ${b}, ${Number(a.toFixed(2))})`;
  }
  throw new Error("تنسيق HEX غير صالح");
}

دالة معالجة بتية عالية الأداء تدعم كافة صيغ HEX.

3. فهم أكواد الألوان السداسية عشرية المكونة من 8 خانات (#RRGGBBAA)

اعتمدت مواصفات CSS Color Module Level 4 الأكواد المكونة من 8 خانات رسمياً. يمثل آخر حرفين قناة الشفافية (Alpha) من 00 (شفاف بالكامل 0%) إلى FF (معتم بالكامل 100%). أشهر قيم الشفافية المقابلة: - `100%` = `FF` (255) - `80%` = `CC` (204) - `50%` = `80` (128) - `25%` = `40` (64) - `10%` = `1A` (26) - `0%` = `00` (0)

4. صياغة CSS الحديثة واستخدام دالة color-mix() دون الحاجة لـ JS

في معايير CSS الحديثة، لم تعد الفواصل إلزامية، حيث يمكنك كتابة `rgb(59 130 246 / 50%)`. كما تتيح دالة `color-mix()` الأصلية في متصفحات الويب تطبيق الشفافية مباشرة على متغيرات HEX دون الحاجة لتحويلها مسبقاً عبر جافا سكريبت.
css Code Example
:root {
  --brand-color: #3b82f6;
}

.card {
  /* الصياغة الحديثة مع الفاصل المائل */
  background: rgb(59 130 246 / 0.5);

  /* تطبيق الشفافية المباشرة في CSS */
  border-color: color-mix(in srgb, var(--brand-color) 50%, transparent);
}

استخدام color-mix() لتطبيق الشفافية مباشرة في صفحات الأنماط.

5. التحويل من RGB إلى HSL (تدرج اللون، والتشبع، والإضاءة)

بينما يعبر نموذج RGB عن شدة انبعاث الضوء في الشاشات، يعبر HSL عن الإدراك البصري البشري للألوان: تدرج اللون (Hue من 0° إلى 360°)، والتشبع (Saturation)، والإضاءة (Lightness). يجعل ذلك إنشاء تدرجات التفاعل (Hover و Active) أسهل بكثير بمجرد تعديل قيمة الإضاءة.

6. معايير سهولة الوصول ونسب التباين WCAG 2.1

للتحقق من سهولة القراءة وتوافق الواجهات مع معايير الوصول، يتم تحويل قيم RGB إلى إضاءة نسبية (Relative Luminance). تشترط معايير WCAG 2.1 Level AA نسبة تباين لا تقل عن 4.5:1 للنصوص العادية و 3:1 للنصوص الكبيرة.

Frequently Asked Questions

كيف يمكنني تحويل كود HEX مكون من 3 خانات مثل #f00 إلى RGB؟

قم بمضاعفة كل حرف لتكوين كود من 6 خانات (#ff0000). الزوج الأول (ff) يمثل الأحمر (255)، والثاني (00) يمثل الأخضر (0)، والثالث (00) يمثل الأزرق (0)، مما ينتج rgb(255, 0, 0).

ماذا تعني أكواد HEX المكونة من 8 خانات؟

تمثل أول 6 خانات قنوات RGB الأساسية، بينما تمثل آخر خانتين درجة الشفافية Alpha من 00 (شفاف 0%) إلى FF (معتم 100%).

ما هي صياغة CSS الحديثة لقيم RGB مع الشفافية؟

وفق معيار CSS Color 4، يمكنك كتابة rgb(59 130 246 / 50%) أو rgb(59 130 246 / 0.5) دون استخدام الفواصل أو دالة rgba التقليدية.

هل يمكنني تطبيق الشفافية على متغير لون HEX في CSS دون جافا سكريبت؟

نعم، باستخدام دالة color-mix(): background: color-mix(in srgb, var(--my-color) 50%, transparent); فورياً في ملف التنسيق.

لماذا يفضل مطورو الواجهات استخدام HSL بدلاً من RGB؟

لأن نموذج HSL يتطابق مع الإدراك البشري، مما يتيح لك بناء أنظمة الألوان وظلال الوضع الليلي بمجرد تعديل قيمة الإضاءة L مع الحفاظ على درجة اللون ثنائياً.

معايير البنية الهندسية وموثوقية الأنظمة المؤسسية

ضمان الانعدام الكامل لتسريب البيانات

يتم تنفيذ فحص البيانات والتحقق من المخططات والحسابات التشفيرية حصرياً داخل ذاكرة الوصول العشوائي المؤقتة (RAM) في جهازك دون إرسال أي مفاتيح أو بيانات لخوادم وسيطة أو خدمات تتبع خارجية.

الدقة الحسابية والامتثال لمعايير RFC الرسمية

التزام صارم بالمعايير القياسية RFC 8259 و RFC 7519 و RFC 4648 و ISO/IEC 18004، مما يضمن التوافق التام مع الخدمات الخلفية المبنية بلغات Go و Java و Rust و Node.js و Python.

اختبارات التكامل المستمر والأتمتة (CI/CD)

تتيح آليات الفحص المسبق للالتزام (Pre-commit hooks) التحقق من صحة هياكل البيانات محلياً قبل دمجها في مستودعات الأكواد والإنتاج الفعلي لمنع تعطل واجهات التطبيقات.

عزل الذاكرة وحماية المتصفح المتقدمة

حماية متقدمة عبر سياقات الأمان المعزولة COOP و COEP في المتصفحات الحديثة، مما يمنع استغلال ثغرات القنوات الجانبية Spectre والتطفل على الذاكرة.