انتقل إلى محتوى الدرس
الدرس 81
تاريخ النشر: تاريخ التحديث:
دورة لغة CSS

خاصية align-content مع Flexbox في لغة CSSCSS Flex Align Content طريقة محاذاة الأسطر الملتفة متعامداً، وتمديد الأسطر وتوسيطها داخل الحاوية، وصف الأسطر بالبداية أو النهاية

افهم كيف توزع خاصية align-content الأسطر المتعددة الملتفة على المحور المتعامد في Flexbox، ولماذا تشترط تفعيل الالتفاف مع وجود ارتفاع متاح، وكيف تختلف جوهرياً عن خاصية align-items.
أقسام الدرس
6
الأمثلة
3
اللغة
العربية
المشاهدات
3,851
محتوى الدرس
في هذا الدرس 6تصفّح المواضيع

عند تفعيل التفاف العناصر عبر flex-wrap: wrap على الحاوية المرنة، تنكسر العناصر الفائضة لتشكّل سطرين مرنين أو أكثر. وإذا امتلكت الحاوية ارتفاعاً صريحاً عبر height أو min-height يفوق مجموع ارتفاعات تلك الأسطر، تظهر مساحة فارغة متبقية على المحور المتعامد.

تُكتب خاصية align-content على الحاوية الأب لتجميع تلك الأسطر الملتفة أو توزيع الفراغ بينها. احفظ شرطي عملها الحاسمين: تفعيل الالتفاف flex-wrap: wrap (أو wrap-reverse) مع توفر مساحة متعامدة فائضة؛ أما في الحاوية ذات السطر الواحد nowrap فلا تملك هذه الخاصية أي أثر على الإطلاق.

لماذا تتباعد صفوف الأوسمة الملتفة داخل صندوق بارتفاع 180px بفراغ رأسي واسع غير مرغوب فيه فور انتقالها لسطر ثانٍ؟ السبب هو القيمة الافتراضية الابتدائية align-content: stretch التي تقسم الارتفاع الفائض على مسارات الأسطر لتتمدد وتملأ الحاوية.

بمجرد تغيير القيمة إلى align-content: center يلغى تمدد المسارات وتجتمع جميع الأسطر الملتفة متقاربة في منتصف الحاوية تماماً مع الحفاظ على فجوة gap الأنيقة بينها:

مخطط يوضح مقارنة stretch و center و space-between لتوزيع الأسطر الملتفة بخاصية align-content
CSS
.tags-center {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  gap: 8px;
  height: 150px;
}

في اللوحات الجانبية للفلاتر وسُحب الكلمات المفتاحية التي تمتلك min-height مرتفعاً، تحتاج دائماً إلى رصّ الصفوف الملتفة من الأعلى بتتابع منتظم دون أن تتمدد وتتفكك. تحقق القيمة align-content: flex-start هذا الهدف بضم جميع الأسطر عند الحافة العلوية، بينما تدفع align-content: flex-end كتلة الأسطر مجتمعةً نحو قاع الحاوية:

CSS
.cloud-top {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
  min-height: 140px;
}

بنفس المنطق الحسابي لخاصية المحور الرئيسي، تدعم align-content قيم التوزيع الثلاث لفصل الأسطر الملتفة رأسياً:

  • space-between: تثبّت السطر الأول في أعلى الحاوية والسطر الأخير في أسفلها وتوزع الفراغ الرأسي المتبقي بين الأسطر فقط.
  • space-around: تحيط كل سطر بنصف مسافة متساوية من الأعلى والأسفل فتكون حافتا الحاوية نصف الفجوة بين السطرين.
  • space-evenly: تمنح مسافات رأسية متطابقة تماماً فوق السطر الأول وبين الأسطر وتحت السطر الأخير.

قارن بصرياً بين flex-start و center و space-between في المختبر التفاعلي التالي:

يمثل التمييز الواضح بين align-items و align-content مفتاح الإتقان الكامل للمحور المتعامد:

  • align-items تعمل داخل كل سطر على حدة؛ كأن تتوسط شارة قصيرة بجانب زر أطول منها يقع معها في نفس السطر، وتعمل سواء كان لديك سطر واحد أم عدة أسطر.
  • align-content تعمل بين الأسطر الملتفة ككتل كاملة؛ فتقرر هل يجتمع السطر الأول والسطر الثاني في الأعلى أم في المنتصف أم يتباعدان نحو الحافتين.

شاهد في المثال القابل للتشغيل أدناه كيف تتعاون الخاصيتان معاً دون أي تعارض على نفس الحاوية:

CSS
.combo-box {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  align-items: center;
  height: 170px;
}

إذا كتبت align-content: center ولم تلاحظ أي استجابة، فافتح لوحة Styles في أدوات المطور DevTools؛ ستجد المتصفح يظلل السطر بلون باهت مع أيقونة إرشادية توضح أن غياب flex-wrap: wrap يمنع تكوّن أسطر متعددة. راجع جدول المقارنة الشامل التالي:

القيمة في align-contentنطاق التأثيرسلوك الأسطر الملتفةالنمط التطبيقي الأشهر
stretchالأسطر الملتفةتمدد مسارات الأسطر لملء الارتفاعشبكات المربعات الممتدة داخل ارتفاع ثابت
flex-startالأسطر الملتفةتجميع كافة الصفوف في بداية الحاويةسُحب الكلمات المفتاحية وفلاتر البحث
flex-endالأسطر الملتفةتجميع كافة الصفوف في نهاية الحاويةأوسمة التصنيف المثبتة أسفل البطاقات
centerالأسطر الملتفةضم جميع الصفوف متلاصقة بالوسطمجموعات الشارات المتوسطة بعدة صفوف
space-betweenالأسطر الملتفةتثبيت أول وآخر صف على الحافتينلوحات المؤشرات المكونة من صفين متباعدين
space-around / space-evenlyالأسطر الملتفةفواصل محيطية نصفية أو متساوية تماماًجدران الشعارات المتعددة الصفوف بتوازن بصري
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

تعرّفت في هذا الدرس على شروط عمل align-content بوجود الالتفاف flex-wrap: wrap وارتفاع متاح، وكيفية ضم صفوف الأوسمة بـ flex-start و center، والفرق الجوهري بينها وبين align-items. في الخطوة التالية ننتقل إلى درس خاصية order مع Flexbox في لغة CSS للتحكم في الترتيب البصري لظهور العناصر المرنة.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Multi-Line Flex Container الحاوية المرنة متعددة الأسطر
حاوية فليكس فُعّل عليها الالتفاف flex-wrap: wrap أو wrap-reverse لتنتقل العناصر الفائضة إلى سطرين أو أكثر.
للمراجعة
02 Line Track Packing تجميع مسارات الأسطر
استخدام قيم مثل flex-start أو center في align-content لضم الصفوف الملتفة معاً بدلاً من تمدد المسافات الرأسية بينها.
للمراجعة
03 Inactive CSS Property الخاصية غير النشطة في أدوات الفحص
قاعدة CSS صحيحة نحوياً يظللها المتصفح في لوحة Styles لغياب شرط تفعيلها الأساسي مثل flex-wrap: wrap.
للمراجعة
04 Cross-Axis Free Space فراغ المحور المتعامد
المساحة الفائضة في ارتفاع أو عرض الحاوية بعد طرح مجموع أحجام الأسطر المرنة الملتفة بداخلها.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات3

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 3 مفهومةأول بطاقة، أول خطوة
01 CSS CSS
Cascading Style Sheets
لغة الأنماط المسؤولة عن توزيع الأسطر المتعددة الملتفة عبر خاصية align-content.
للمراجعة
02 DOM DOM
Document Object Model
شجرة عناصر المستند الحية التي تفحصها في أدوات المطور للتحقق من حالة التفاف الحاوية المرنة.
للمراجعة
03 UI UI
User Interface
أنماط واجهة المستخدم مثل سُحب الوسوم ولوحات الفلاتر التي تعتمد على الأسطر المرنة الملتفة.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. افتح محرر سحابة الوسوم وغيّر قيمة align-content في الصنف .cloud-top من flex-start إلى stretch ثم إلى center لملاحظة تمدد الأسطر وتجمعها.

  2. في مثال الدمج الثالث، أبقِ على align-content: space-between وغيّر align-items من center إلى flex-end لمراقبة تحرك العناصر داخل كل سطر باستقلالية.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

8أسئلة 2أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي8 أسئلة تنتظرك
01

أي خاصية يجب تفعيلها على الحاوية المرنة أولاً حتى تعمل خاصية align-content ويظهر أثرها؟

02

ما القيمة الابتدائية الافتراضية لخاصية align-content عند التفاف العناصر داخل حاوية مرتفعة؟

03

أي قيمة في align-content تضم صفوف الوسوم الملتفة في أعلى اللوحة الجانبية دون ترك فراغات متمددة بين الصفوف؟

04

ما الفرق الجوهري الدقيق بين خاصيتي align-items و align-content؟

05

أي قيمة تثبّت السطر الملتف الأول عند الحافة العلوية والسطر الأخير عند الحافة السفلية دون فراغ خارجي عند الطرفين؟

06

لماذا تظلل أدوات المطور DevTools خاصية align-content: center كخاصية غير نشطة على حاوية تحمل display: flex فقط؟

07

في الحاوية المرنة ذات السطر الواحد المضبوطة على flex-wrap: nowrap، لا يحدث تغيير قيمة align-content أي أثر بصري.

08

يمكن استخدام خاصيتي align-content و align-items معاً في وقت واحد على نفس الحاوية المرنة الملتفة.