ما الفرق بين justify-content و align-items في Flexbox؟

تم النشر | بواسطة: Nourhan | Apr 19, 2026 | منذ 8 ساعات و10 دقائق |
برمجة
ما الفرق بين justify-content و align-items في Flexbox؟

ما الفرق بين justify-content و align-items في Flexbox؟ دليل عملي شامل لمطوري الويب

تُعد تقنية Flexbox واحدة من أهم الأدوات الحديثة في CSS لبناء واجهات مستخدم مرنة وسريعة الاستجابة. لكن رغم بساطتها الظاهرية، يقع الكثير من المطورين في لبس عند استخدام خصائص المحاذاة، خصوصًا justify-content و align-items.

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


ما هو Flexbox ولماذا نستخدمه؟

Flexbox هو نظام تخطيط (Layout System) يُستخدم لترتيب العناصر داخل حاوية (Container) بطريقة مرنة.

أهم مميزاته:

  • توزيع العناصر بسهولة
  • التحكم في المحاذاة أفقيًا ورأسيًا
  • تصميم متجاوب بدون تعقيد
  • تقليل الاعتماد على float و positioning

المحور الرئيسي والمحور العرضي في Flexbox

لفهم الفرق بين justify-content و align-items، يجب أولًا فهم مفهومين أساسيين:

المحور الرئيسي (Main Axis)

هو الاتجاه الأساسي الذي تتحرك فيه العناصر داخل الحاوية.

المحور العرضي (Cross Axis)

هو الاتجاه العمودي على المحور الرئيسي.

💡 مهم جدًا:

  • إذا كان الاتجاه row → المحور الرئيسي أفقي
  • إذا كان الاتجاه column → المحور الرئيسي رأسي

ما هي خاصية justify-content؟

تُستخدم خاصية justify-content للتحكم في توزيع العناصر على المحور الرئيسي.

ببساطة:

👉 تتحكم في "المسافات بين العناصر" أفقيًا أو رأسيًا حسب اتجاه الفليكس

أشهر القيم:

  • flex-start → العناصر في بداية الحاوية
  • flex-end → العناصر في نهاية الحاوية
  • center → العناصر في المنتصف
  • space-between → مسافات متساوية بين العناصر
  • space-around → مسافات حول العناصر
  • space-evenly → مسافات متساوية تمامًا

مثال عملي:

تخيل عندك navbar فيه 3 عناصر:

  • لو استخدمت justify-content: space-between
    👉 أول عنصر هيكون في أقصى اليسار، وآخر عنصر في أقصى اليمين، والباقي بينهم.

ما هي خاصية align-items؟

تُستخدم خاصية align-items للتحكم في محاذاة العناصر على المحور العرضي.

ببساطة:

👉 تتحكم في "ارتفاع أو تمركز العناصر" عموديًا أو أفقيًا حسب الاتجاه

أشهر القيم:

  • flex-start → العناصر في أعلى الحاوية
  • flex-end → العناصر في أسفل الحاوية
  • center → العناصر في المنتصف
  • stretch → العناصر تتمدد لملء الحاوية
  • baseline → محاذاة حسب خط النص

مثال عملي:

عندك مجموعة كروت داخل div:

  • باستخدام align-items: center
    👉 كل الكروت هتكون في منتصف الحاوية عموديًا

الفرق بين justify-content و align-items

الفرق الأساسي يعتمد على اتجاه المحور:

الخاصية تتحكم في الاتجاه
justify-content توزيع العناصر المحور الرئيسي
align-items محاذاة العناصر المحور العرضي

جدول مقارنة شامل

الميزة justify-content align-items
نوع التحكم توزيع العناصر محاذاة العناصر
المحور المحور الرئيسي (Main Axis) المحور العرضي (Cross Axis)
يتأثر بـ flex-direction نعم نعم
الاستخدام الشائع عمل مسافات بين العناصر توسيط العناصر عموديًا/أفقيًا
مثال عملي توزيع عناصر navbar توسيط عناصر داخل container

متى تستخدم كل خاصية؟

استخدم justify-content عندما:

  • تريد توزيع العناصر داخل الحاوية
  • تحتاج مسافات متساوية بين العناصر
  • تعمل على navbar أو قائمة أفقية

استخدم align-items عندما:

  • تريد توسيط العناصر عموديًا
  • تريد ضبط ارتفاع العناصر داخل container
  • تعمل على تصميم cards أو sections

أمثلة واقعية من مشاريع حقيقية

1. شريط التنقل (Navbar)

  • استخدم justify-content: space-between
    👉 لتوزيع اللوجو والقائمة

2. توسيط زر داخل قسم

  • استخدم justify-content: center + align-items: center
    👉 لتوسيط الزر أفقيًا وعموديًا

3. تصميم كروت (Cards)

  • استخدم align-items: stretch
    👉 لجعل كل الكروت بنفس الارتفاع

أخطاء شائعة يجب تجنبها

❌ الخلط بين المحورين
✔ الحل: دائمًا اسأل نفسك: "أنا عايز أتحكم في أنهي اتجاه؟"

❌ نسيان flex-direction
✔ لأن الاتجاه يغير المحور بالكامل

❌ استخدام خاصية واحدة بدل الاثنين
✔ أحيانًا تحتاج الاثنين معًا للتوسيط الكامل


نصائح احترافية لمطوري الويب

  • دائمًا تخيل المحور قبل كتابة أي خاصية
  • استخدم أدوات DevTools لمعاينة Flexbox
  • جرّب القيم المختلفة لفهم التأثير بصريًا
  • لا تحفظ القيم فقط… افهم المنطق

 

الأسئلة الشائعة (FAQ)

1. ما الفرق الأساسي بين justify-content و align-items؟

الفرق أن justify-content يتحكم في توزيع العناصر على المحور الرئيسي، بينما align-items يتحكم في محاذاتها على المحور العرضي.

2. هل يمكن استخدام justify-content و align-items معًا؟

نعم، وغالبًا يتم استخدامهما معًا لتوسيط العناصر أفقيًا وعموديًا في نفس الوقت.

3. هل يتغير سلوك الخصائص مع flex-direction؟

نعم، لأن تغيير الاتجاه يغير المحور الرئيسي والعرضي.

4. متى أستخدم align-items بدل justify-content؟

عندما تريد التحكم في الاتجاه العمودي (أو العرضي حسب الاتجاه)، وليس توزيع العناصر.

5. هل Flexbox أفضل من Grid؟

Flexbox مناسب للمحاور الواحدة (1D)، بينما Grid أفضل للتصميمات الثنائية الأبعاد (2D).


 

🚀 البداية في إيدك

كل اللي محتاجه منك:

  • التزام
  • مذاكرة
  • وصبر

ومع النظام الصح…
هتوصل لنفس النتيجة اللي وصلها مبرمجين كتير بدأوا من الصفر
ودلوقتي شغالين في المجال 💪

🚀 ابدأ رحلتك مع كرياتيفو
وخد أول خطوة حقيقية نحو مستقبلك في البرمجة
📱 ابعتلنا علي واتساب
💬 ابعتلنا علي فيسبوك

الكلمات المفتاحية

الفرق بين justify-content و align-items شرح flexbox بالعربي تعلم flexbox justify-content شرح align-items شرح css flexbox بالعربي محاذاة العناصر في css توزيع العناصر في flexbox flexbox tutorial عربي شرح css للمبتدئين تصميم واجهات مواقع css layout main axis و cross axis توسيط العناصر css front end تطوير تعلم تصميم المواقع responsive design css شرح خصائص flexbox css للمبتدئين تصميم UI باستخدام css

مقالات مشابهة

برمجة

الفرق بين طرق رفع الملفات في المواقع من الناحية الأمنية: دليل عملي لمطوري الويب

تعرف على الفرق بين طرق رفع الملفات في المواقع من الناحية الأمنية، مع أفضل الممارسات لحماية تطبيقك من الاختراق. دليل عملي لمطوري الويب لبناء نظام رفع ملفات آمن واحترافي.

19 Apr, 2026
تفاصيل المقال
برمجة

لماذا يُستخدم PHP مع MySQL تحديدًا ؟ — العلاقة بين الاثنين

اكتشف لماذا يُستخدم PHP مع MySQL في تطوير الويب، وكيف يعملان معًا لإنشاء مواقع ديناميكية قوية وسريعة مع أفضل الممارسات.

17 Apr, 2026
تفاصيل المقال
تصميم

ما هو الـ (UI/UX)

يقدم هذا المقال دليلًا شاملًا لفهم مجال UI/UX، موضحًا الفرق بين تصميم واجهة المستخدم وتجربة المستخدم وأهميتهما في نجاح التطبيقات والمواقع. كما يستعرض الأدوات الأساسية التي يحتاجها المصمم، والمسار التعليمي المناسب، وأهم الكورسات والشهادات المعتمدة، بالإضافة إلى مقارنة مفصلة بين UI/UX وبعض المجالات المشابهة مثل الجرافيك ديزاين وتطوير الواجهات، لمساعدة المبتدئين على اختيار المسار المناسب لهم.

08 Apr, 2026
تفاصيل المقال
برمجة

مقارنة بين Flutter و React Native

تعرف على الفرق بين Flutter وReact Native من حيث الأداء، سهولة التعلم، سوق العمل، والرواتب. دليل شامل للمبتدئين لاختيار أفضل تقنية لتطوير تطبيقات الموبايل.

13 Apr, 2026
تفاصيل المقال
برمجة

اسعار كورسات البرمجة في مصر | اعرف السعر المناسب

اكتشف أسعار كورسات البرمجة في مصر 2026 وأهم الفروق بين الأسعار الرخيصة والعالية؛ اعرف لماذا السعر المناسب مهم وكيف تختار كورس برمجة احترافي يُنمي مهاراتك بدل إضاعة وقتك ومجهودك بدون فائدة.

04 Apr, 2026
تفاصيل المقال
برمجة

ما الفرق بين Python و JavaScript

تعرف على الفرق بين Python وJavaScript للمبتدئين، واكتشف أيهما أفضل لتعلم البرمجة وتطوير المواقع والتطبيقات.

17 Apr, 2026
تفاصيل المقال