Langkau ke kandungan utama Langkau ke navigasi dokumen
Check
in English

Lentur

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!
html
<div class="d-flex p-2">I'm a flexbox container!</div>
Saya bekas flexbox sebaris!
html
<div class="d-inline-flex p-2">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
  • .d-xxl-flex
  • .d-xxl-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
html
<div class="d-flex flex-row mb-3">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">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
html
<div class="d-flex flex-column mb-3">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-column-reverse">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">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
  • .flex-xxl-row
  • .flex-xxl-row-reverse
  • .flex-xxl-column
  • .flex-xxl-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, around, atau evenly.

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
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>
<div class="d-flex justify-content-evenly">...</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-evenly
  • .justify-content-sm-start
  • .justify-content-sm-end
  • .justify-content-sm-center
  • .justify-content-sm-between
  • .justify-content-sm-around
  • .justify-content-sm-evenly
  • .justify-content-md-start
  • .justify-content-md-end
  • .justify-content-md-center
  • .justify-content-md-between
  • .justify-content-md-around
  • .justify-content-md-evenly
  • .justify-content-lg-start
  • .justify-content-lg-end
  • .justify-content-lg-center
  • .justify-content-lg-between
  • .justify-content-lg-around
  • .justify-content-lg-evenly
  • .justify-content-xl-start
  • .justify-content-xl-end
  • .justify-content-xl-center
  • .justify-content-xl-between
  • .justify-content-xl-around
  • .justify-content-xl-evenly
  • .justify-content-xxl-start
  • .justify-content-xxl-end
  • .justify-content-xxl-center
  • .justify-content-xxl-between
  • .justify-content-xxl-around
  • .justify-content-xxl-evenly

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
  • .align-items-xxl-start
  • .align-items-xxl-end
  • .align-items-xxl-center
  • .align-items-xxl-baseline
  • .align-items-xxl-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
  • .align-self-xxl-start
  • .align-self-xxl-end
  • .align-self-xxl-center
  • .align-self-xxl-baseline
  • .align-self-xxl-stretch

isi

Gunakan .flex-fillkelas pada satu siri elemen adik-beradik untuk memaksanya ke dalam lebar yang sama dengan kandungannya (atau lebar yang sama jika kandungannya tidak melebihi kotak sempadannya) sambil mengambil semua ruang mendatar yang tersedia.

Item fleksibel dengan banyak kandungan
Item fleksibel
Item fleksibel
html
<div class="d-flex">
  <div class="p-2 flex-fill">Flex item with a lot of content</div>
  <div class="p-2 flex-fill">Flex item</div>
  <div class="p-2 flex-fill">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
  • .flex-xxl-fill

Tumbuh dan mengecut

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

Item fleksibel
Item fleksibel
Item fleksibel ketiga
html
<div class="d-flex">
  <div class="p-2 flex-grow-1">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Third flex item</div>
</div>

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

Item fleksibel
Item fleksibel
html
<div class="d-flex">
  <div class="p-2 w-100">Flex item</div>
  <div class="p-2 flex-shrink-1">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
  • .flex-xxl-{grow|shrink}-0
  • .flex-xxl-{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 ( .me-auto), dan menolak dua item ke kiri ( .ms-auto).

Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
Item fleksibel
html
<div class="d-flex mb-3">
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
</div>

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

<div class="d-flex mb-3">
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="ms-auto p-2">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
html
<div class="d-flex align-items-start flex-column mb-3" style="height: 200px;">
  <div class="mb-auto p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
</div>

<div class="d-flex align-items-end flex-column mb-3" style="height: 200px;">
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="mt-auto p-2">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
  • .flex-xxl-nowrap
  • .flex-xxl-wrap
  • .flex-xxl-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. Memandangkan ordermengambil sebarang nilai integer dari 0 hingga 5, tambah CSS tersuai untuk sebarang nilai tambahan yang diperlukan.

Item fleksibel pertama
Item fleksibel kedua
Item fleksibel ketiga
html
<div class="d-flex flex-nowrap">
  <div class="order-3 p-2">First flex item</div>
  <div class="order-2 p-2">Second flex item</div>
  <div class="order-1 p-2">Third flex item</div>
</div>

Variasi responsif juga wujud untuk order.

  • .order-0
  • .order-1
  • .order-2
  • .order-3
  • .order-4
  • .order-5
  • .order-sm-0
  • .order-sm-1
  • .order-sm-2
  • .order-sm-3
  • .order-sm-4
  • .order-sm-5
  • .order-md-0
  • .order-md-1
  • .order-md-2
  • .order-md-3
  • .order-md-4
  • .order-md-5
  • .order-lg-0
  • .order-lg-1
  • .order-lg-2
  • .order-lg-3
  • .order-lg-4
  • .order-lg-5
  • .order-xl-0
  • .order-xl-1
  • .order-xl-2
  • .order-xl-3
  • .order-xl-4
  • .order-xl-5
  • .order-xxl-0
  • .order-xxl-1
  • .order-xxl-2
  • .order-xxl-3
  • .order-xxl-4
  • .order-xxl-5

Selain itu, terdapat juga kelas responsif .order-firstdan .order-lastyang menukar orderelemen dengan menggunakan order: -1dan order: 6, masing-masing.

  • .order-first
  • .order-last
  • .order-sm-first
  • .order-sm-last
  • .order-md-first
  • .order-md-last
  • .order-lg-first
  • .order-lg-last
  • .order-xl-first
  • .order-xl-last
  • .order-xxl-first
  • .order-xxl-last

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-between
  • .align-content-around
  • .align-content-stretch
  • .align-content-sm-start
  • .align-content-sm-end
  • .align-content-sm-center
  • .align-content-sm-between
  • .align-content-sm-around
  • .align-content-sm-stretch
  • .align-content-md-start
  • .align-content-md-end
  • .align-content-md-center
  • .align-content-md-between
  • .align-content-md-around
  • .align-content-md-stretch
  • .align-content-lg-start
  • .align-content-lg-end
  • .align-content-lg-center
  • .align-content-lg-between
  • .align-content-lg-around
  • .align-content-lg-stretch
  • .align-content-xl-start
  • .align-content-xl-end
  • .align-content-xl-center
  • .align-content-xl-between
  • .align-content-xl-around
  • .align-content-xl-stretch
  • .align-content-xxl-start
  • .align-content-xxl-end
  • .align-content-xxl-center
  • .align-content-xxl-between
  • .align-content-xxl-around
  • .align-content-xxl-stretch

Objek media

Ingin meniru komponen objek media dari Bootstrap 4? Cipta semula dalam masa yang singkat dengan beberapa utiliti fleksibel yang membolehkan lebih fleksibiliti dan penyesuaian daripada sebelumnya.

Placeholder Image
Ini adalah beberapa kandungan daripada komponen media. Anda boleh menggantikannya dengan mana-mana kandungan dan melaraskannya mengikut keperluan.
html
<div class="d-flex">
  <div class="flex-shrink-0">
    <img src="..." alt="...">
  </div>
  <div class="flex-grow-1 ms-3">
    This is some content from a media component. You can replace this with any content and adjust it as needed.
  </div>
</div>

Dan katakan anda mahu memusatkan kandungan secara menegak di sebelah imej:

Placeholder Image
Ini adalah beberapa kandungan daripada komponen media. Anda boleh menggantikannya dengan mana-mana kandungan dan melaraskannya mengikut keperluan.
html
<div class="d-flex align-items-center">
  <div class="flex-shrink-0">
    <img src="..." alt="...">
  </div>
  <div class="flex-grow-1 ms-3">
    This is some content from a media component. You can replace this with any content and adjust it as needed.
  </div>
</div>

Sass

API Utiliti

Utiliti Flexbox diisytiharkan dalam API utiliti kami dalam scss/_utilities.scss. Ketahui cara menggunakan API utiliti.

    "flex": (
      responsive: true,
      property: flex,
      values: (fill: 1 1 auto)
    ),
    "flex-direction": (
      responsive: true,
      property: flex-direction,
      class: flex,
      values: row column row-reverse column-reverse
    ),
    "flex-grow": (
      responsive: true,
      property: flex-grow,
      class: flex,
      values: (
        grow-0: 0,
        grow-1: 1,
      )
    ),
    "flex-shrink": (
      responsive: true,
      property: flex-shrink,
      class: flex,
      values: (
        shrink-0: 0,
        shrink-1: 1,
      )
    ),
    "flex-wrap": (
      responsive: true,
      property: flex-wrap,
      class: flex,
      values: wrap nowrap wrap-reverse
    ),
    "justify-content": (
      responsive: true,
      property: justify-content,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        between: space-between,
        around: space-around,
        evenly: space-evenly,
      )
    ),
    "align-items": (
      responsive: true,
      property: align-items,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        baseline: baseline,
        stretch: stretch,
      )
    ),
    "align-content": (
      responsive: true,
      property: align-content,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        between: space-between,
        around: space-around,
        stretch: stretch,
      )
    ),
    "align-self": (
      responsive: true,
      property: align-self,
      values: (
        auto: auto,
        start: flex-start,
        end: flex-end,
        center: center,
        baseline: baseline,
        stretch: stretch,
      )
    ),
    "order": (
      responsive: true,
      property: order,
      values: (
        first: -1,
        0: 0,
        1: 1,
        2: 2,
        3: 3,
        4: 4,
        5: 5,
        last: 6,
      ),
    ),