Menu
flag Ar iconالعربيةdown icon

التدرج اللوني في CSS: radial وlinear وconic

التدرجات اللونية في CSS صور يرسمها المتصفح من الألوان. تعلّم radial-gradient (الشكل والحجم والموضع)، وlinear-gradient (الاتجاه والزوايا)، وconic-gradient، ونقاط توقف الألوان، والتوقفات الحادة للخطوط، والتدرجات المتكررة، والنص المتدرج.

تحتوي هذه الصفحة على محررات قابلة للتشغيل - حرّر، شغّل، وشاهد النتيجة فوراً.

التدرجات الدائرية

تمزج radial-gradient() الألوان إلى الخارج من نقطة مركزية. ومثل كل تدرج في CSS، هي صورة، لذلك مكانها background-image (أو الاختصار background):

الصيغة الكاملة هي radial-gradient(shape size at position, color stops). كل ما قبل الألوان اختياري.

الجزءالقيمالافتراضي
الشكلcircle، ellipseellipse
الحجمclosest-side، closest-corner، farthest-side، farthest-corner، أو أطوالfarthest-corner
الموضعat center، at top left، at 30% 70%، at 20px 40pxat center
نقاط توقف الألوانلونان أو أكثر، لكل منهما موضع اختياري

تحدد كلمة الحجم المفتاحية أين يُبلغ اللون الأخير: عند أقرب ضلع للصندوق، أو أبعد زاوية، وهكذا. غيّر القيم هنا وراقب التدرج يُعاد رسمه:

جرّب circle farthest-corner at 30% 50%, #f59e0b, #2563eb وellipse at bottom, white, #16a34a وcircle 40px, #f59e0b 99%, transparent (نقطة بحافة حادة).

التدرجات الخطية

تمزج linear-gradient() الألوان على امتداد خط مستقيم. ضع اتجاهًا أو زاوية أولًا، ثم الألوان:

تبدأ الزوايا من 0deg متجهة إلى الأعلى وتدور مع عقارب الساعة، فـ 90deg تساوي to right، و180deg هي القيمة الافتراضية to bottom. تبقى to right فيزيائية في الصفحات التي تُقرأ من اليمين إلى اليسار؛ اعكسها بنفسك إن كان يجب أن يتبع التدرج اتجاه القراءة.

نقاط توقف الألوان والتوقفات الحادة

يمكن لكل لون أن يأخذ موضعًا. من دون مواضع تتوزع الألوان بالتساوي. وحين يشترك لونان في موضع واحد يكون التغيير فوريًا، وهكذا ترسم الخطوط والأعلام وأشرطة التقدم:

يمكن للتوقف أيضًا أن يأخذ موضعين، #111827 12px 24px، فيرسم شريطًا صلبًا من 12px إلى 24px.

التدرجات المخروطية

تدير conic-gradient() الألوان حول نقطة مركزية، مثل عقارب الساعة. ومع التوقفات الحادة ترسم مخططًا دائريًا من دون أي صور أو JavaScript:

المخطط المرسوم بـ CSS غير مرئي لقارئات الشاشة، لذلك ضع الأرقام في نص أيضًا.

النص المتدرج

قص خلفية متدرجة على شكل الحروف واجعل النص نفسه شفافًا:

.gradient-text {
  background: linear-gradient(90deg, #2563eb, #db2777);
  -webkit-background-clip: text; /* older browsers need the prefix */
  background-clip: text;
  color: transparent;
}

ضع في حسابك لونًا احتياطيًا عاديًا بـ color: إن فشل القص يختفي النص. والنص المتدرج تباينه غير متساوٍ أيضًا، فاستخدمه للعناوين الكبيرة فقط.

تتكدس التدرجات مع الصور والتدرجات الأخرى في قائمة background-image واحدة؛ وتشرح صفحة صورة الخلفية الطبقات والحجم والموضع.

أخطاء شائعة

  • background-color: linear-gradient(...). التدرج صورة: استخدم background-image أو background.
  • الدرجات في الاتجاه الخطأ. 0deg تشير إلى الأعلى لا إلى اليمين. و90deg تتجه نحو اليمين.
  • تدرج على عنصر بلا ارتفاع. لا يظهر شيء؛ أعطه محتوى أو حجمًا.
  • ألوان وسطى باهتة. مزج لونين متعاكسين مشبعين، كالأحمر والأخضر، يمر برمادي بني في sRGB. أضف توقفًا وسطيًا، أو امزج في فضاء لوني آخر: linear-gradient(in oklch, red, green).
  • تدرّج متقطع في التدرجات الكبيرة الخفيفة. الألوان المتقاربة جدًا على مساحة كبيرة تُظهر درجات منفصلة؛ قليل من التباين الإضافي بين التوقفات يساعد.

الأسئلة الشائعة

كيف أصنع تدرجًا دائريًا radial في CSS؟

استخدم background-image: radial-gradient(#93c5fd, #1e3a8a);. أضف شكلًا وموضعًا قبل الألوان، مثل radial-gradient(circle at top left, #93c5fd, #1e3a8a).

ما الفرق بين circle وellipse في radial-gradient؟

ellipse (الافتراضي) يتمدد بنسب الصندوق، فيكون عريضًا في الصندوق العريض. أما circle فيبقي التدرج دائريًا مهما كان شكل الصندوق.

كيف أضبط اتجاه التدرج الخطي؟

ضع اتجاهًا أو زاوية أولًا: linear-gradient(to right, red, blue) أو linear-gradient(45deg, red, blue). الافتراضي to bottom (180deg)؛ والزاوية 0deg تشير إلى الأعلى وتدور الزوايا مع عقارب الساعة.

كيف أصنع خطوطًا حادة بدل المزج السلس؟

أعطِ لونين موضع التوقف نفسه: linear-gradient(90deg, #2563eb 50%, #f59e0b 50%) تبدّل اللون في المنتصف بلا مزج. وrepeating-linear-gradient تكرر نمطًا من هذه التوقفات.

هل يمكنني استخدام تدرج كقيمة لـ background-color؟

لا. التدرج صورة، لذلك مكانه background-image أو الاختصار background. أما background-color: linear-gradient(...) فغير صالحة وتُتجاهل.

Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن