Source

ثني

قم بإدارة التخطيط والمحاذاة وحجم أعمدة الشبكة والتنقل والمكونات والمزيد بسرعة باستخدام مجموعة كاملة من أدوات Flexbox سريعة الاستجابة. لعمليات التنفيذ الأكثر تعقيدًا ، قد يكون من الضروري استخدام CSS المخصص.

تمكين السلوكيات المرنة

قم بتطبيق displayالأدوات المساعدة لإنشاء حاوية flexbox وتحويل العناصر الفرعية المباشرة إلى عناصر مرنة. يمكن تعديل الحاويات والعناصر المرنة بشكل أكبر بخصائص مرنة إضافية.

أنا حاوية فليكس بوكس!
<div class="d-flex p-2 bd-highlight">I'm a flexbox container!</div>
أنا حاوية Flexbox مضمنة!
<div class="d-inline-flex p-2 bd-highlight">I'm an inline flexbox container!</div>

توجد أيضًا اختلافات مستجيبة لـ .d-flexو .d-inline-flex.

  • .d-flex
  • .d-inline-flex
  • .d-sm-flex
  • .d-sm-inline-flex
  • .d-md-flex
  • .d-md-inline-flex
  • .d-lg-flex
  • .d-lg-inline-flex
  • .d-xl-flex
  • .d-xl-inline-flex

اتجاه

اضبط اتجاه العناصر المرنة في حاوية مرنة مع أدوات مساعدة للاتجاه. في معظم الحالات ، يمكنك حذف الفئة الأفقية هنا لأن المتصفح الافتراضي هو row. ومع ذلك ، قد تواجه مواقف تحتاج فيها إلى تعيين هذه القيمة بشكل صريح (مثل التنسيقات سريعة الاستجابة).

استخدمه .flex-rowلتعيين اتجاه أفقي (المتصفح الافتراضي) ، أو .flex-row-reverseلبدء الاتجاه الأفقي من الجانب المعاكس.

فليكس البند 1
فليكس البند 2
البند المرن 3
فليكس البند 1
فليكس البند 2
البند المرن 3
<div class="d-flex flex-row bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse bd-highlight">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>

تُستخدم .flex-columnلتعيين اتجاه رأسي ، أو .flex-column-reverseلبدء الاتجاه الرأسي من الجانب الآخر.

فليكس البند 1
فليكس البند 2
البند المرن 3
فليكس البند 1
فليكس البند 2
البند المرن 3
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column-reverse bd-highlight">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>

توجد اختلافات مستجيبة أيضًا لـ flex-direction.

  • .flex-row
  • .flex-row-reverse
  • .flex-column
  • .flex-column-reverse
  • .flex-sm-row
  • .flex-sm-row-reverse
  • .flex-sm-column
  • .flex-sm-column-reverse
  • .flex-md-row
  • .flex-md-row-reverse
  • .flex-md-column
  • .flex-md-column-reverse
  • .flex-lg-row
  • .flex-lg-row-reverse
  • .flex-lg-column
  • .flex-lg-column-reverse
  • .flex-xl-row
  • .flex-xl-row-reverse
  • .flex-xl-column
  • .flex-xl-column-reverse

تبرير المحتوى

استخدم justify-contentالأدوات المساعدة في حاويات Flexbox لتغيير محاذاة العناصر المرنة على المحور الرئيسي (المحور x للبدء ، المحور y إذا flex-direction: column). اختر من start(المتصفح الافتراضي) ، end، center، between، أو around.

البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-center">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>

توجد اختلافات مستجيبة أيضًا لـ justify-content.

  • .justify-content-start
  • .justify-content-end
  • .justify-content-center
  • .justify-content-between
  • .justify-content-around
  • .justify-content-sm-start
  • .justify-content-sm-end
  • .justify-content-sm-center
  • .justify-content-sm-between
  • .justify-content-sm-around
  • .justify-content-md-start
  • .justify-content-md-end
  • .justify-content-md-center
  • .justify-content-md-between
  • .justify-content-md-around
  • .justify-content-lg-start
  • .justify-content-lg-end
  • .justify-content-lg-center
  • .justify-content-lg-between
  • .justify-content-lg-around
  • .justify-content-xl-start
  • .justify-content-xl-end
  • .justify-content-xl-center
  • .justify-content-xl-between
  • .justify-content-xl-around

محاذاة العناصر

استخدم align-itemsالأدوات المساعدة في حاويات Flexbox لتغيير محاذاة العناصر المرنة على المحور العرضي (المحور y للبدء ، المحور x إذا flex-direction: column). اختر من start، endأو center، baselineأو stretch(المتصفح الافتراضي).

البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex align-items-start">...</div>
<div class="d-flex align-items-end">...</div>
<div class="d-flex align-items-center">...</div>
<div class="d-flex align-items-baseline">...</div>
<div class="d-flex align-items-stretch">...</div>

توجد اختلافات مستجيبة أيضًا لـ align-items.

  • .align-items-start
  • .align-items-end
  • .align-items-center
  • .align-items-baseline
  • .align-items-stretch
  • .align-items-sm-start
  • .align-items-sm-end
  • .align-items-sm-center
  • .align-items-sm-baseline
  • .align-items-sm-stretch
  • .align-items-md-start
  • .align-items-md-end
  • .align-items-md-center
  • .align-items-md-baseline
  • .align-items-md-stretch
  • .align-items-lg-start
  • .align-items-lg-end
  • .align-items-lg-center
  • .align-items-lg-baseline
  • .align-items-lg-stretch
  • .align-items-xl-start
  • .align-items-xl-end
  • .align-items-xl-center
  • .align-items-xl-baseline
  • .align-items-xl-stretch

محاذاة الذات

استخدم align-selfالأدوات المساعدة على عناصر flexbox لتغيير محاذاة بشكل فردي على المحور المتقاطع (المحور y للبدء ، المحور x إذا flex-direction: column). اختر من نفس الخيارات مثل align-items: start، end، center، baseline، أو stretch(المتصفح الافتراضي).

البند المرن
عنصر مرن محاذاة
البند المرن
البند المرن
عنصر مرن محاذاة
البند المرن
البند المرن
عنصر مرن محاذاة
البند المرن
البند المرن
عنصر مرن محاذاة
البند المرن
البند المرن
عنصر مرن محاذاة
البند المرن
<div class="align-self-start">Aligned flex item</div>
<div class="align-self-end">Aligned flex item</div>
<div class="align-self-center">Aligned flex item</div>
<div class="align-self-baseline">Aligned flex item</div>
<div class="align-self-stretch">Aligned flex item</div>

توجد اختلافات مستجيبة أيضًا لـ align-self.

  • .align-self-start
  • .align-self-end
  • .align-self-center
  • .align-self-baseline
  • .align-self-stretch
  • .align-self-sm-start
  • .align-self-sm-end
  • .align-self-sm-center
  • .align-self-sm-baseline
  • .align-self-sm-stretch
  • .align-self-md-start
  • .align-self-md-end
  • .align-self-md-center
  • .align-self-md-baseline
  • .align-self-md-stretch
  • .align-self-lg-start
  • .align-self-lg-end
  • .align-self-lg-center
  • .align-self-lg-baseline
  • .align-self-lg-stretch
  • .align-self-xl-start
  • .align-self-xl-end
  • .align-self-xl-center
  • .align-self-xl-baseline
  • .align-self-xl-stretch

يملأ

استخدم .flex-fillالفصل في سلسلة من العناصر الشقيقة لإجبارها على عرض مساوٍ لمحتواها (أو عروض متساوية إذا كان محتواها لا يتجاوز حدود مربعاتها) أثناء تناول كل المساحة الأفقية المتاحة.

العنصر المرن مع الكثير من المحتوى
البند المرن
البند المرن
<div class="d-flex bd-highlight">
  <div class="p-2 flex-fill bd-highlight">Flex item with a lot of content</div>
  <div class="p-2 flex-fill bd-highlight">Flex item</div>
  <div class="p-2 flex-fill bd-highlight">Flex item</div>
</div>

توجد اختلافات مستجيبة أيضًا لـ flex-fill.

  • .flex-fill
  • .flex-sm-fill
  • .flex-md-fill
  • .flex-lg-fill
  • .flex-xl-fill

النمو وتقليص

استخدم .flex-grow-*الأدوات المساعدة لتبديل قدرة العنصر المرن على النمو لملء المساحة المتاحة. في المثال أدناه ، .flex-grow-1تستخدم العناصر كل المساحة المتاحة ، مع السماح للعنصرين المرنين المتبقيين بالمساحة الضرورية.

البند المرن
البند المرن
العنصر المرن الثالث
<div class="d-flex bd-highlight">
  <div class="p-2 flex-grow-1 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Third flex item</div>
</div>

استخدم .flex-shrink-*الأدوات المساعدة لتبديل قدرة العنصر المرن على التقلص إذا لزم الأمر. في المثال أدناه ، يتم إجبار العنصر المرن الثاني .flex-shrink-1على لف محتوياته إلى سطر جديد ، "يتقلص" للسماح بمساحة أكبر للعنصر المرن السابق به .w-100.

البند المرن
البند المرن
<div class="d-flex bd-highlight">
  <div class="p-2 w-100 bd-highlight">Flex item</div>
  <div class="p-2 flex-shrink-1 bd-highlight">Flex item</div>
</div>

توجد أيضًا اختلافات مستجيبة لـ flex-growو flex-shrink.

  • .flex-{grow|shrink}-0
  • .flex-{grow|shrink}-1
  • .flex-sm-{grow|shrink}-0
  • .flex-sm-{grow|shrink}-1
  • .flex-md-{grow|shrink}-0
  • .flex-md-{grow|shrink}-1
  • .flex-lg-{grow|shrink}-0
  • .flex-lg-{grow|shrink}-1
  • .flex-xl-{grow|shrink}-0
  • .flex-xl-{grow|shrink}-1

هوامش السيارات

يمكن لـ Flexbox القيام ببعض الأشياء الرائعة عند مزج المحاذاة المرنة مع الهوامش التلقائية. فيما يلي ثلاثة أمثلة للتحكم في العناصر المرنة عبر الهوامش التلقائية: الافتراضي (بدون هامش تلقائي) ، ودفع عنصرين إلى اليمين ( .mr-auto) ، ودفع عنصرين إلى اليسار ( .ml-auto).

لسوء الحظ ، لا يدعم IE10 و IE11 بشكل صحيح الهوامش التلقائية على العناصر المرنة التي يمتلك أصلها justify-contentقيمة غير افتراضية. راجع إجابة StackOverflow هذه لمزيد من التفاصيل.

البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
</div>

<div class="d-flex bd-highlight mb-3">
  <div class="mr-auto p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
</div>

<div class="d-flex bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="ml-auto p-2 bd-highlight">Flex item</div>
</div>

مع محاذاة العناصر

انقل عنصرًا واحدًا مرنًا رأسياً إلى أعلى أو أسفل الحاوية عن طريق المزج align-items، flex-direction: columnو margin-top: autoأو margin-bottom: auto.

البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex align-items-start flex-column bd-highlight mb-3" style="height: 200px;">
  <div class="mb-auto p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
</div>

<div class="d-flex align-items-end flex-column bd-highlight mb-3" style="height: 200px;">
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="mt-auto p-2 bd-highlight">Flex item</div>
</div>

طَوّق

تغيير كيفية التفاف العناصر المرنة في حاوية مرنة. اختر من بين عدم وجود التفاف على الإطلاق (المتصفح الافتراضي) مع .flex-nowrapالتفاف .flex-wrapأو عكس التفاف باستخدام .flex-wrap-reverse.

البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex flex-nowrap">
  ...
</div>
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex flex-wrap">
  ...
</div>
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex flex-wrap-reverse">
  ...
</div>

توجد اختلافات مستجيبة أيضًا لـ flex-wrap.

  • .flex-nowrap
  • .flex-wrap
  • .flex-wrap-reverse
  • .flex-sm-nowrap
  • .flex-sm-wrap
  • .flex-sm-wrap-reverse
  • .flex-md-nowrap
  • .flex-md-wrap
  • .flex-md-wrap-reverse
  • .flex-lg-nowrap
  • .flex-lg-wrap
  • .flex-lg-wrap-reverse
  • .flex-xl-nowrap
  • .flex-xl-wrap
  • .flex-xl-wrap-reverse

ترتيب

قم بتغيير الترتيب المرئي لعناصر مرنة معينة باستخدام عدد قليل من orderالأدوات المساعدة. نحن نقدم فقط خيارات لإنشاء عنصر أولاً أو أخيرًا ، بالإضافة إلى إعادة تعيين لاستخدام طلب DOM. نظرًا orderلأخذ أي قيمة عدد صحيح (على سبيل المثال 5) ، أضف CSS مخصصًا لأية قيم إضافية مطلوبة.

أول عنصر مرن
العنصر المرن الثاني
العنصر المرن الثالث
<div class="d-flex flex-nowrap bd-highlight">
  <div class="order-3 p-2 bd-highlight">First flex item</div>
  <div class="order-2 p-2 bd-highlight">Second flex item</div>
  <div class="order-1 p-2 bd-highlight">Third flex item</div>
</div>

توجد اختلافات مستجيبة أيضًا لـ order.

  • .order-0
  • .order-1
  • .order-2
  • .order-3
  • .order-4
  • .order-5
  • .order-6
  • .order-7
  • .order-8
  • .order-9
  • .order-10
  • .order-11
  • .order-12
  • .order-sm-0
  • .order-sm-1
  • .order-sm-2
  • .order-sm-3
  • .order-sm-4
  • .order-sm-5
  • .order-sm-6
  • .order-sm-7
  • .order-sm-8
  • .order-sm-9
  • .order-sm-10
  • .order-sm-11
  • .order-sm-12
  • .order-md-0
  • .order-md-1
  • .order-md-2
  • .order-md-3
  • .order-md-4
  • .order-md-5
  • .order-md-6
  • .order-md-7
  • .order-md-8
  • .order-md-9
  • .order-md-10
  • .order-md-11
  • .order-md-12
  • .order-lg-0
  • .order-lg-1
  • .order-lg-2
  • .order-lg-3
  • .order-lg-4
  • .order-lg-5
  • .order-lg-6
  • .order-lg-7
  • .order-lg-8
  • .order-lg-9
  • .order-lg-10
  • .order-lg-11
  • .order-lg-12
  • .order-xl-0
  • .order-xl-1
  • .order-xl-2
  • .order-xl-3
  • .order-xl-4
  • .order-xl-5
  • .order-xl-6
  • .order-xl-7
  • .order-xl-8
  • .order-xl-9
  • .order-xl-10
  • .order-xl-11
  • .order-xl-12

محاذاة المحتوى

استخدم align-contentالأدوات المساعدة في حاويات Flexbox لمحاذاة العناصر المرنة معًا على المحور المتقاطع. اختر من start(المتصفح الافتراضي) ، end، center، between، around، أو stretch. لإثبات هذه المرافق ، قمنا بفرض flex-wrap: wrapوزيادة عدد العناصر المرنة.

انتباه! هذه الخاصية ليس لها تأثير على الصفوف الفردية من العناصر المرنة.

البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex align-content-start flex-wrap">
  ...
</div>
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex align-content-end flex-wrap">...</div>
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex align-content-center flex-wrap">...</div>
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex align-content-between flex-wrap">...</div>
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex align-content-around flex-wrap">...</div>
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
البند المرن
<div class="d-flex align-content-stretch flex-wrap">...</div>

توجد اختلافات مستجيبة أيضًا لـ align-content.

  • .align-content-start
  • .align-content-end
  • .align-content-center
  • .align-content-around
  • .align-content-stretch
  • .align-content-sm-start
  • .align-content-sm-end
  • .align-content-sm-center
  • .align-content-sm-around
  • .align-content-sm-stretch
  • .align-content-md-start
  • .align-content-md-end
  • .align-content-md-center
  • .align-content-md-around
  • .align-content-md-stretch
  • .align-content-lg-start
  • .align-content-lg-end
  • .align-content-lg-center
  • .align-content-lg-around
  • .align-content-lg-stretch
  • .align-content-xl-start
  • .align-content-xl-end
  • .align-content-xl-center
  • .align-content-xl-around
  • .align-content-xl-stretch