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.
Gunakan display
utiliti 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.
<div class="d-flex p-2">I'm a flexbox container!</div>
<div class="d-inline-flex p-2">I'm an inline flexbox container!</div>
Variasi responsif juga wujud untuk .d-flex
dan .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
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-row
untuk menetapkan arah mendatar (pelayar lalai), atau .flex-row-reverse
untuk memulakan arah mendatar dari sisi bertentangan.
<div class="d-flex flex-row">
<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-column
untuk menetapkan arah menegak, atau .flex-column-reverse
untuk memulakan arah menegak dari sisi bertentangan.
<div class="d-flex flex-column">
<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
Gunakan justify-content
utiliti 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
.
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
Gunakan align-items
utiliti 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).
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
Gunakan align-self
utiliti 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).
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
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.
<div class="d-flex">
<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">
<div class="mr-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">
<div class="p-2">Flex item</div>
<div class="p-2">Flex item</div>
<div class="ml-auto p-2">Flex item</div>
</div>
Gerakkan satu item lentur secara menegak ke bahagian atas atau bawah bekas dengan mencampurkan align-items
, flex-direction: column
, dan margin-top: auto
atau margin-bottom: auto
.
<div class="d-flex align-items-start flex-column" 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" 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>
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
.
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
Tukar susunan visual item fleksibel tertentu dengan segelintir order
utiliti. Kami hanya menyediakan pilihan untuk membuat item pertama atau terakhir, serta tetapan semula untuk menggunakan pesanan DOM. Seperti order
mengambil sebarang nilai integer (cth, 5
), tambah CSS tersuai untuk sebarang nilai tambahan yang diperlukan.
<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-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
Gunakan align-content
utiliti 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: wrap
dan meningkatkan bilangan item fleksibel.
Angkat kepala! Sifat ini tidak mempunyai kesan pada baris tunggal item fleksibel.
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