Source

Flex

Uruskan reka letak, penjajaran dan saiz lajur grid, navigasi, komponen dan banyak lagi dengan pantas dengan suite penuh utiliti flexbox responsif. Untuk pelaksanaan yang lebih kompleks, CSS tersuai mungkin diperlukan.

Dayakan tingkah laku fleksibel

Gunakan displayutiliti untuk mencipta bekas flexbox dan mengubah elemen kanak-kanak langsung kepada item flex. Bekas dan item fleksibel boleh diubah suai lagi dengan sifat flex tambahan.

Saya bekas flexbox!
<div class="d-flex p-2 bd-highlight">I'm a flexbox container!</div>
Saya bekas flexbox sebaris!
<div class="d-inline-flex p-2 bd-highlight">I'm an inline flexbox container!</div>

Variasi responsif juga wujud untuk .d-flexdan .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

Arah

Tetapkan arah item fleksibel dalam bekas fleksibel dengan utiliti arah. Dalam kebanyakan kes, anda boleh meninggalkan kelas mendatar di sini kerana lalai penyemak imbas ialah row. Walau bagaimanapun, anda mungkin menghadapi situasi di mana anda perlu menetapkan nilai ini secara eksplisit (seperti reka letak responsif).

Gunakan .flex-rowuntuk menetapkan arah mendatar (pelayar lalai), atau .flex-row-reverseuntuk memulakan arah mendatar dari sisi bertentangan.

Item fleksibel 1
Item fleksibel 2
Item fleksibel 3
Item fleksibel 1
Item fleksibel 2
Item fleksibel 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>

Gunakan .flex-columnuntuk menetapkan arah menegak, atau .flex-column-reverseuntuk memulakan arah menegak dari sisi bertentangan.

Item fleksibel 1
Item fleksibel 2
Item fleksibel 3
Item fleksibel 1
Item fleksibel 2
Item fleksibel 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>

Variasi responsif juga wujud untuk 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

Wajarkan kandungan

Gunakan justify-contentutiliti pada bekas flexbox untuk menukar penjajaran item flex pada paksi utama (paksi-x untuk bermula, paksi-y jika flex-direction: column). Pilih daripada start(lalai penyemak imbas), end, center, between, atau around.

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

Variasi responsif juga wujud untuk 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

Jajarkan item

Gunakan align-itemsutiliti pada bekas flexbox untuk menukar penjajaran item flex pada paksi silang (paksi-y untuk bermula, paksi-x jika flex-direction: column). Pilih daripada start, end, center, baseline, atau stretch(lalai penyemak imbas).

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

Variasi responsif juga wujud untuk 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

Selaraskan diri

Gunakan align-selfutiliti pada item flexbox untuk menukar penjajarannya secara individu pada paksi silang (paksi-y untuk bermula, paksi-x jika flex-direction: column). Pilih daripada pilihan yang sama seperti align-items: start, end, center, baseline, atau stretch(lalai penyemak imbas).

Item fleksibel
Item fleksibel yang dijajarkan
Item fleksibel
Item fleksibel
Item fleksibel yang dijajarkan
Item fleksibel
Item fleksibel
Item fleksibel yang dijajarkan
Item fleksibel
Item fleksibel
Item fleksibel yang dijajarkan
Item fleksibel
Item fleksibel
Item fleksibel yang dijajarkan
Item fleksibel
<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>

Variasi responsif juga wujud untuk 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

isi

Gunakan .flex-fillkelas pada satu siri elemen adik-beradik untuk memaksanya ke dalam lebar yang sama sambil mengambil semua ruang mendatar yang tersedia. Terutama berguna untuk navigasi yang sama lebar, atau wajar.

Item fleksibel
Item fleksibel
Item fleksibel
<div class="d-flex bd-highlight">
  <div class="p-2 flex-fill bd-highlight">Flex item</div>
  <div class="p-2 flex-fill bd-highlight">Flex item</div>
  <div class="p-2 flex-fill bd-highlight">Flex item</div>
</div>

Variasi responsif juga wujud untuk flex-fill.

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

Tumbuh dan mengecut

Gunakan .flex-grow-*utiliti untuk menogol keupayaan item fleksibel untuk berkembang bagi mengisi ruang yang tersedia. Dalam contoh di bawah, unsur- .flex-grow-1unsur menggunakan semua ruang tersedia yang boleh, sambil membenarkan baki dua item fleksibel ruang yang diperlukan.

Item fleksibel
Item fleksibel
Item fleksibel ketiga
<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>

Gunakan .flex-shrink-*utiliti untuk menogol keupayaan item flex untuk mengecut jika perlu. Dalam contoh di bawah, item lentur kedua dengannya .flex-shrink-1terpaksa membalut kandungannya ke baris baharu, "mengecut" untuk membenarkan lebih banyak ruang untuk item lentur sebelumnya dengan .w-100.

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

Variasi responsif juga wujud untuk flex-growdan 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

Margin automatik

Flexbox boleh melakukan beberapa perkara yang cukup hebat apabila anda mencampurkan penjajaran flex dengan jidar auto. Ditunjukkan di bawah adalah tiga contoh mengawal item fleksibel melalui margin auto: lalai (tiada margin auto), menolak dua item ke kanan ( .mr-auto), dan menolak dua item ke kiri ( .ml-auto).

Malangnya, IE10 dan IE11 tidak menyokong margin auto dengan betul pada item fleksibel yang induknya mempunyai nilai bukan lalai justify-content. Lihat jawapan StackOverflow ini untuk mendapatkan butiran lanjut.

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

Dengan align-item

Gerakkan satu item lentur secara menegak ke bahagian atas atau bawah bekas dengan mencampurkan align-items, flex-direction: column, dan margin-top: autoatau margin-bottom: auto.

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

Bungkus

Tukar cara item flex membungkus dalam bekas flex. Pilih daripada tiada pembalut sama sekali (lalai penyemak imbas) dengan .flex-nowrap, balut dengan .flex-wrap, atau pembalut terbalik dengan .flex-wrap-reverse.

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

Variasi responsif juga wujud untuk 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

Pesanan

Tukar susunan visual item fleksibel tertentu dengan segelintir orderutiliti. Kami hanya menyediakan pilihan untuk membuat item pertama atau terakhir, serta tetapan semula untuk menggunakan pesanan DOM. Seperti ordermengambil sebarang nilai integer (cth, 5), tambah CSS tersuai untuk sebarang nilai tambahan yang diperlukan.

Item fleksibel pertama
Item fleksibel kedua
Item fleksibel ketiga
<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>

Variasi responsif juga wujud untuk 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

Selaraskan kandungan

Gunakan align-contentutiliti pada bekas flexbox untuk menjajarkan item flex bersama-sama pada paksi silang. Pilih daripada start(lalai penyemak imbas), end, center, between, around, atau stretch. Untuk menunjukkan utiliti ini, kami telah menguatkuasakan flex-wrap: wrapdan meningkatkan bilangan item fleksibel.

Angkat kepala! Sifat ini tidak mempunyai kesan pada baris tunggal item fleksibel.

Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
<div class="d-flex align-content-start flex-wrap">
  ...
</div>
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
<div class="d-flex align-content-end flex-wrap">...</div>
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
<div class="d-flex align-content-center flex-wrap">...</div>
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
<div class="d-flex align-content-between flex-wrap">...</div>
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
<div class="d-flex align-content-around flex-wrap">...</div>
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
<div class="d-flex align-content-stretch flex-wrap">...</div>

Variasi responsif juga wujud untuk 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