Bootstrap 4 فليكس


Bootstrap 4 فليكس

استخدم الفئات المرنة للتحكم في تخطيط مكونات Bootstrap 4.


فليكس بوكس

يتمثل الاختلاف الأكبر بين Bootstrap 3 و Bootstrap 4 في أن Bootstrap 4 يستخدم الآن flexbox بدلاً من العوامات للتعامل مع التخطيط.

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

ملاحظة: Flexbox غير مدعوم في IE9 والإصدارات السابقة.

إذا كنت بحاجة إلى دعم IE8-9 ، فاستخدم Bootstrap 3. وهو الإصدار الأكثر استقرارًا من Bootstrap ، ولا يزال مدعوماً من قبل الفريق لإصلاح الأخطاء الهامة وتغييرات الوثائق. ومع ذلك ، لن يتم إضافة ميزات جديدة إليها.

لإنشاء حاوية Flexbox وتحويل العناصر الأبناء المباشرين إلى عناصر مرنة ، استخدم d-flexالفئة:

مثال

Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-flex p-3 bg-secondary text-white">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

لإنشاء حاوية Flexbox مضمنة ، استخدم d-inline-flexالفئة:

مثال

Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-inline-flex p-3 bg-secondary text-white">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

الاتجاه الأفقي

تُستخدم .flex-rowلعرض العناصر المرنة أفقيًا (جنبًا إلى جنب). هذا هو الافتراضي.

نصيحة: استخدمه .flex-row-reverse لمحاذاة الاتجاه الأفقي جهة اليمين:

مثال

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-flex flex-row bg-secondary">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

<div class="d-flex flex-row-reverse bg-secondary">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

الاتجاه الرأسي

تُستخدم .flex-columnلعرض العناصر المرنة عموديًا (فوق بعضها البعض) ، أو .flex-column-reverse لعكس الاتجاه الرأسي:

مثال

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-flex flex-column">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

<div class="d-flex flex-column-reverse">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>


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

استخدم .justify-content-*الفئات لتغيير محاذاة العناصر المرنة. الفئات الصالحة هي start(افتراضي) ، endأو center، betweenأو around:

مثال

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

مثال

<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>

عرض ملء / متساوي

استخدم .flex-fillعلى العناصر المرنة لإجبارها على عرض متساوٍ:

مثال

Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-flex">
  <div class="p-2 bg-info flex-fill">Flex item 1</div>
  <div class="p-2 bg-warning flex-fill">Flex item 2</div>
  <div class="p-2 bg-primary flex-fill">Flex item 3</div>
</div>

ينمو

استخدمه .flex-grow-1في عنصر مرن لشغل المساحة المتبقية. في المثال أدناه ، يشغل العنصران المرنان الأول والثاني المساحة اللازمة لهما ، بينما يشغل العنصر الأخير باقي المساحة المتاحة:

مثال

Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-flex">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary flex-grow-1">Flex item 3</div>
</div>

نصيحة: استخدمه .flex-shrink-1على عنصر مرن لجعله يتقلص إذا لزم الأمر.


طلب

قم بتغيير الترتيب المرئي لعنصر (عناصر) مرن معين مع .orderالفئات. تتراوح الفصول الصالحة من 0 إلى 12 ، حيث يكون لأقل رقم أولوية أعلى (يتم عرض الطلب -1 قبل الأمر -2 ، إلخ ..):

مثال

Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-flex bg-secondary">
  <div class="p-2 bg-info order-3">Flex item 1</div>
  <div class="p-2 bg-warning order-2">Flex item 2</div>
  <div class="p-2 bg-primary order-1">Flex item 3</div>
</div>

هوامش آلية

يمكنك بسهولة إضافة هوامش آلية لثني العناصر باستخدام .mr-auto(دفع العناصر إلى اليمين) ، أو باستخدام .ml-auto(دفع العناصر إلى اليسار):

مثال

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-flex bg-secondary">
  <div class="p-2 mr-auto bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

<div class="d-flex bg-secondary">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 ml-auto bg-primary">Flex item 3</div>
</div>


لف

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

انقر فوق الأزرار أدناه لمعرفة الفرق بين الفئات الثلاث ، عن طريق تغيير التفاف العناصر المرنة في مربع المثال:

مثال

Flex item 1
Flex item 2
Flex item 3
Flex item 4
Flex item 5
Flex item 6
Flex item 7
Flex item 8
Flex item 9
Flex item 10
Flex item 11
Flex item 12
Flex item 13
Flex item 14
Flex item 15
Flex item 16
Flex item 17
Flex item 18
Flex item 19
Flex item 20
Flex item 21
Flex item 22
Flex item 23
Flex item 24
Flex item 25

مثال

<div class="d-flex flex-wrap">..</div>

<div class="d-flex flex-wrap-reverse">..</div>

<div class="d-flex flex-nowrap">..</div>

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

التحكم في المحاذاة الرأسية للعناصر المرنة المجمعة.align-content-* مع الفئات. الفئات الصالحة هي .align-content-start(افتراضي) و .align-content-endو .align-content-centerو .align-content-betweenو ..align-content-around.align-content-stretch

ملاحظة: هذه الفئات ليس لها تأثير على الصفوف الفردية من العناصر المرنة.

انقر فوق الأزرار أدناه لمعرفة الفرق بين الفئات الخمس ، عن طريق تغيير المحاذاة الرأسية للعناصر المرنة في مربع المثال:

مثال

Flex item 1
Flex item 2
Flex item 3
Flex item 4
Flex item 5
Flex item 6
Flex item 7
Flex item 8
Flex item 9
Flex item 10
Flex item 11
Flex item 12
Flex item 13
Flex item 14
Flex item 15
Flex item 16
Flex item 17
Flex item 18
Flex item 19
Flex item 20
Flex item 21
Flex item 22
Flex item 23
Flex item 24
Flex item 25

مثال

<div class="d-flex flex-wrap align-content-start">..</div>

<div class="d-flex flex-wrap align-content-end">..</div>

<div class="d-flex flex-wrap align-content-center">..</div>

<div class="d-flex flex-wrap align-content-around">..</div>

<div class="d-flex flex-wrap align-content-stretch">..</div>

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

تحكم في المحاذاة الرأسية للصفوف الفردية من العناصر المرنة مع .align-items-* الفئات. الفئات الصالحة هي .align-items-startو .align-items-endو .align-items-centerو .align-items-baselineو .align-items-stretch (افتراضي).

انقر فوق الأزرار أدناه لمعرفة الفرق بين الفئات الخمس:

مثال

Flex item 1
Flex item 2
Flex item 3

مثال

<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-self-* الفئات. الفئات الصالحة هي .align-self-startو .align-self-endو .align-self-centerو .align-self-baselineو .align-self-stretch (افتراضي).

انقر فوق الأزرار أدناه لمعرفة الفرق بين الفئات الخمس:

مثال

Flex item 1
Flex item 2
Flex item 3

مثال

<div class="d-flex bg-light" style="height:150px">
  <div class="p-2 border">Flex item 1</div>
  <div class="p-2 border align-self-start">Flex item 2</div>
  <div class="p-2 border">Flex item 3</div>
</div>

فصول مرنة متجاوبة

All flex classes comes with additional responsive classes, which makes it easy to set a specific flex class on a specific screen size.

The * symbol can be replaced with sm, md, lg or xl, which represents small, medium, large or xlarge screens.

Class Description Example
Flex Container    
.d-*-flex Creates a flexbox container for different screens
.d-*-inline-flex Creates an inline flexbox container for different screens
Direction    
.flex-*-row Display flex items horizontally on different screens
.flex-*-row-reverse Display flex items horizontally, and right-aligned, on different screens
.flex-*-column Display flex items vertically on different screens
.flex-*-column-reverse Display flex items vertically, with reversed order, on different screens screens
Justified Content    
.justify-content-*-start Display flex items from the start (left-aligned) on different screens
.justify-content-*-end Display flex items at the end (right-aligned) on different screens
.justify-content-*-center Display flex items in the center of a flex container on different screens
.justify-content-*-between Display flex items in "between" on different screens
.justify-content-*-around Display flex items "around" on different screens
Fill / Equal Width    
.flex-*-fill Force flex items into equal widths on different screens
Grow    
.flex-*-grow-0 Don't make the items grow on different screens  
.flex-*-grow-1 Make items grow on different screens  
Shrink    
.flex-*-shrink-0 Don't make the items shrink on diferent screens  
.flex-*-shrink-1 Make items shrink on different screens  
Order    
.order-*-0-12 Change the order from 0 to 12 on small screens
Wrap    
.flex-*-nowrap Don't wrap items on different screens
.flex-*-wrap Wrap items on different screens
.flex-*-wrap-reverse Reverse the wrapping of items on different screens
Align Content    
.align-content-*-start Align gathered items from the start on different screens
.align-content-*-end Align gathered items at the end on different screens
.align-content-*-center Align gathered items in the center on different screens
.align-content-*-around Align gathered items "around" on different screens
.align-content-*-stretch Stretch gathered items on different screens
Align Items    
.align-items-*-start Align single rows of items from the start on different screens
.align-items-*-end Align single rows of items at the end on different screens
.align-items-*-center Align single rows of items in the center on different screens
.align-items-*-baseline Align single rows of items on the baseline on different screens
.align-items-*-stretch Stretch single rows of items on different screens
Align Self    
.align-self-*-start Align a flex item from the start on different screens
.align-self-*-end Align a flex item at the end on different screens
.align-self-*-center Align a flex item in the center on different screens
.align-self-*-baseline Align a flex item on the baseline on different screens
.align-self-*-stretch Stretch a flex item on different screens