نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
REA

منهج React Js

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج React Js/تنسيق Inline Styles في React باستخدام (Objects)

تنسيق Inline Styles في React باستخدام (Objects)

جدول مرجعي سريع

1

التنسيق المدمج المباشر (Inline Styles) في React باستخدام الكائنات (Objects)

وجه المقارنةالتنسيق المباشر في HTMLالتنسيق المباشر في React (JSX)
نوع القيمة الممررة للسمةسلسلة نصية عادية string محاطة بعلامات تنصيص مزدوجةكائن جافا سكريبت Object محاط بأقواس مجعدة مزدوجة
صياغة أسماء الخصائصتفصل بينها شرطة مائلة كالمعتاد مثل background-colorتُكتب حتماً بأسلوب السنام CamelCase مثل backgroundColor
وحدات القياس الرقمية (مثل px)يجب كتابة وحدة القياس نصياً وبشكل صريح مثل 20pxيمكن كتابة الرقم مجرداً كعدد وتتولى ريأكت إضافة px تلقائياً

الشرح

في تطوير الويب التقليدي، كان يُنظر إلى التنسيق المباشر (Inline Styles) كخيار غير مستحب لعدم مرونته. ولكن في React، وبسبب فلسفة دمج المظهر مع المنطق البرمجي، أصبح التنسيق المباشر أداة قوية جداً وديناميكية، شريطة أن تفهم قواعدها الهندسية الفريدة.

في JSX، لا يتم تمرير التنسيق المباشر كنص عادي، بل يتم تمريره كـ كائن جافا سكريبت (JavaScript Object).

1. سر الأقواس المزدوجة {{ }}

عندما تبدأ في كتابة تنسيق مباشر داخل عنصر ريأكت، ستجد نفسك مجبراً على كتابة أقواس مكررة هكذا: style={{ }}. يعتقد الكثير من المبتدئين أن هذا وسم خاص أو صياغة جديدة، ولكن تفكيكها الهندسي بسيط للغاية:

  1. القوس الأول الخارجي { }: هو القوس الذي تعلمناه سابقاً، ودوره إخبار ريأكت: "انتبهي، سأكتب كود جافا سكريبت الآن".
  2. القوس الثاني الداخلي { }: هو القوس الخاص بإنشاء كائن جافا سكريبت عادي (Object Literal) يحتوي على خصائص التنسيق وقيمها.

2. قواعد تحويل خصائص CSS إلى كائنات ريأكت

بما أننا نكتب كائناً برمجياً، يجب أن نلتزم بقواعد كائنات جافا سكريبت:

  • حذف الشرطة الوسطى (-): أي خاصية CSS تحتوي على شرطة وسطى، يتم تحويلها إلى أسلوب السنام (CamelCase). على سبيل المثال: background-color تصبح backgroundColor، و font-size تصبح fontSize.
  • القيم نصية دائماً: جميع قيم التنسيق يجب أن تُوضع بين علامات اقتباس مثل '90px' أو 'bold'، باستثناء القيم الرقمية البحتة.
  • القيم الرقمية الذكية: إذا كتبت قيمة رقمية مجردة مثل padding: 20 أو borderRadius: 8 بدون علامات تنصيص، فإن ريأكت بذكائها الهندسي ستقوم تلقائياً بإضافة وحدة البكسل (px) لها خلف الكواليس.

الأكواد البرمجية والتطبيق العملي

دعنا نرى كيف نكتب التنسيق المباشر، سواء بكتابته مضمناً أو بحفظه في متغير خارجي لتنظيم كود المكون:

javascript
1<div style={{ width: `${completionPercentage}%`, backgroundColor: 'green', height: '10px' }} />

ℹ️ معلومة

تذكر دائماً: استخدم ملفات CSS الخارجية كقاعدة أساسية لشكل الموقع، واجعل التنسيق المباشر (Inline Style) مخصصاً فقط للعناصر التي تتغير قيم مظهرها ديناميكياً في الذاكرة أثناء تصفح المستخدم. بهذا نكون قد أقفلنا تماماً وبكفاءة عالية الفصل الثاني بجميع قواعده التنسيقية وفلسفة العرض الخاصة به.

الصياغة (Syntax)

syntax
1function PremiumCard() {
2 // حيلة احترافية: حفظ كائن التنسيق في متغير خارجي لجعل الكود أنظف وأسهل في القراءة
3 const cardStyle = {
4 backgroundColor: '#673ab7', // لون منصة نوفيل البنفسجي المعتمد
5 color: '#ffffff',
6 padding: '25px',
7 borderRadius: 12, // سيتم ترجمتها تلقائياً إلى 12px
8 boxShadow: '0 4px 8px rgba(0,0,0,0.1)',
9 textAlign: 'center'
10 };
11
12 return (
13 // 1. استدعاء المتغير الذي يحتوي على التنسيق
14 <div style={cardStyle}>
15 <h2>الباقة الاحترافية في ريأكت</h2>
16 <p>احصل على الدعم البرمجي الكامل</p>
17
18 {/* 2. كتابة التنسيق مباشرة داخل العنصر باستخدام الأقواس المزدوجة */}
19 <button style={{
20 backgroundColor: '#ffffff',
21 color: '#673ab7',
22 border: 'none',
23 padding: '10px 20px',
24 fontWeight: 'bold',
25 cursor: 'pointer'
26 }}>
27 اشترك الآن
28 </button>
29 </div>
30 );
31}

نصائح احترافية

  • —القوة الحقيقية للتنسيق عبر الكائنات (Style Objects) تكمن في توليد تنسيقات حية تتغير بناءً على الحسابات البرمجية أو مدخلات المستخدم.
  • —على سبيل المثال، إذا كنت تبني شريط تقدم (Progress Bar) لمشاهدة الدروس في موقعك، يمكنك ربط عرض الشريط (Width) بمتغير رقمي يتغير تلقائياً، دون الحاجة لكتابة فئات CSS معقدة ومتعددة:

الدرس السابق

التعامل مع CSS في React Js

الدرس التالي

مفهوم المكونات What is a Component

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر