FlexBox هي حاوية تعرض العناصر في اتجاه واحد. ويمكنه تغيير حجم العناصر والتفافها ومحاذاتها وتوزيع المساحة بينها لملء المساحة المتاحة على النحو الأمثل. وهو تنسيق مفيد للعناصر ذات الأحجام المختلفة ولتغيير حجم
العناصر عندما تتغير المساحة المتاحة.
باستخدام FlexBox، يمكنك إجراء ما يلي:
- التحكّم في كيفية تكبير العناصر وتصغيرها لملء المساحة المتاحة
- التفاف العناصر في صفوف أو أعمدة جديدة عندما لا تتوفّر مساحة كافية لها
- توزيع المساحة الإضافية بين العناصر باستخدام إعدادات مسبقة ملائمة
حالات استخدام FlexBox
يُستخدم FlexBox عادةً لعرض عدد صغير من العناصر ضمن تنسيق الشاشة العام. بالنسبة إلى تنسيق الشاشة العام،
يُعدّ Grid خيارًا أفضل عادةً. لا يتيح FlexBox التحميل الكسول للعناصر. لعرض أعداد كبيرة من العناصر، استخدِم القوائم والشبكات الكسولة. إذا كنت بحاجة إلى التفاف العناصر، استخدِم FlexBox بدلاً من FlowRow وFlowColumn.
المصطلحات والمفاهيم
يتم ترتيب العناصر في FlexBox في خطوط أفقية أو عمودية. يحدد اتجاه هذه الخطوط المحور الرئيسي. أما المحور المتقاطع، فيكون بزاوية 90 درجة
بالنسبة إلى المحور الرئيسي. يُعرف طول FlexBox على طول المحور الرئيسي باسم الحجم الرئيسي. ويُعرف طول المحور المتقاطع المقابل باسم
الحجم المتقاطع. تشكّل هذه الأحجام والمحاور أساس سلوك FlexBox.
FlexBox هو Row
FlexBox هو Columnتطبيق الخصائص
يمكنك تطبيق سمات FlexBox بطريقتَين:
- إلى حاوية "
FlexBox" باستخدامFlexBox(config) - إلى عنصر داخل
FlexBoxباستخدامModifier.flex
خصائص الحاوية ( |
خصائص الملف ( |
|---|---|
لمزيد من المعلومات حول هذه السمات، يُرجى الاطّلاع على مقالة ضبط سلوك الحاوية. |
يمكنك الاطّلاع على ضبط سلوك العنصر لمزيد من المعلومات حول هذه السمات. |
فهم خوارزمية تنسيق FlexBox
من أقوى ميزات FlexBox قدرته على تغيير حجم العناصر الفرعية
لتناسب المساحة المتاحة له على أفضل وجه. يمكن أن يساعدك فهم كيفية قيام FlexBox بذلك في تعيين خصائص FlexBox لتحسين واجهة المستخدم لجميع الأحجام الممكنة.
تعمل خوارزمية التنسيق في FlexBox على النحو التالي:
احتساب الحجم الأساسي للعنصر الفرعي: استخدِم قيمة
basisللعنصر الفرعي لاحتساب حجمه الأولي على طول المحور الرئيسي قبل توزيع أي مساحة إضافية.ترتيب العناصر الفرعية: يمكنك ترتيب العناصر الفرعية حسب قيم
order، إذا كانت متوفّرة.إنشاء الأسطر: لكل عنصر ثانوي، يتم التحقّق مما إذا كان حجمه الأولي بالإضافة إلى
gapسيتناسب مع المساحة المتبقية في السطر الحالي. إذا كان الأمر كذلك، فضع هذا الطفل في الصف. وإذا لم يكن الأمر كذلك، ضعه في سطر جديد إذا كان الالتفاف مفعلاً، أو ضع العنصر في السطر الحالي حيث سيتجاوز السعة (سيتم حجبه جزئيًا بواسطة حافة الحاوية).محاذاة العناصر أو تغيير حجمها في المحور الرئيسي: لكل سطر، يمكنك توزيع المساحة الإضافية على العناصر أو بينها من خلال تغيير حجمها أو محاذاتها.
محاذاة العناصر أو تغيير حجمها في المحور المتقاطع: لكل سطر، يمكنك توزيع المساحة الإضافية على العناصر والأسطر أو بينها من خلال تمديدها أو محاذاتها.
بعد أن تعرّفت على مفاهيم FlexBox، يمكنك الاطّلاع على البدء لإنشاء FlexBox أساسي.