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 أساسي.