彈性盒子(Flex)

      flexbox彈性盒子通用類別的套件包管理網(wǎng)格欄的排版、對齊、尺寸縮放,以及導覽、元件等。對于更復雜的表現(xiàn)則需要自定義CSS。

      啟用flex

      使用display通用類別來創(chuàng)建一個flexbox容器,并將直屬的子元素轉(zhuǎn)換為flex屬性。增加額外的flex屬性,也能夠進一步修改flex容器和屬性。

      I'm a flexbox container!
      <div class="d-flex p-2 bd-highlight">I'm a flexbox container!</div>
      I'm an inline flexbox container!
      <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
      • .d-xxl-flex
      • .d-xxl-inline-flex

      方向

      透過通用類別來設定flex容器與內(nèi)層flex的方向,在大多的情況下你可以忽略水平的class,因為瀏覽器預設值是row。不過有些特定情境下需要特別設定這個值(像是響應式情境)。

      使用.flex-row來設定水平的方向(瀏覽器預設值),或是使用.flex-row-reverse來作水平方向的反轉(zhuǎn)。

      Flex item 1
      Flex item 2
      Flex item 3
      Flex item 1
      Flex item 2
      Flex item 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作垂直方向的反轉(zhuǎn)。

      Flex item 1
      Flex item 2
      Flex item 3
      Flex item 1
      Flex item 2
      Flex item 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
      • .flex-xxl-row
      • .flex-xxl-row-reverse
      • .flex-xxl-column
      • .flex-xxl-column-reverse

      調(diào)整內(nèi)容

      使用flexbox容器上的justify-content通用類別改變flex物件在主軸上的對齊(x軸開始,如果flex-direction: column則為y軸)。從start(瀏覽器預設),end、center、between、around或evenly中做選擇。

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

      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

      對齊項目

      在flexbox容器上使用align-items工具改變橫軸上flex物件的對齊(y軸開始,如果設定flex-direction: column則為x軸),從start、end、center、baseline或是stretch(瀏覽器預設)中做選擇。

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

      自身對齊

      使用flexbox物件上的align-self通用類別單獨改變在橫軸上的對齊(y軸開始,如果設定flex-direction: column,則為x軸)。從與align-items相同的選項中選擇:start、end、center、baseline、或是stretch(溜覽器預設)。

      Flex item
      Aligned flex item
      Flex item
      Flex item
      Aligned flex item
      Flex item
      Flex item
      Aligned flex item
      Flex item
      Flex item
      Aligned flex item
      Flex item
      Flex item
      Aligned flex item
      Flex item
      <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
      • .align-self-xxl-start
      • .align-self-xxl-end
      • .align-self-xxl-center
      • .align-self-xxl-baseline
      • .align-self-xxl-stretch

      填充

      在一系列的同級元素上使用.flex-fill來強制設定它們的寬度與內(nèi)容相等(如果它們的內(nèi)容不超過邊框,則各個寬度相等),同時占用所有可用的水平空間。

      Flex item with a lot of content
      Flex item
      Flex item
      <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-xxl-fill

      伸縮值

      使用.flex-grow-*通用類別來切換flex項目彈性增長、填充可用空間的能力。在下面的示例中,.flex-grow-1元素使用它可以使用的所有可用空間,同時允許剩馀的兩個flex物件保留必要的空間。

      Flex item
      Flex item
      Third flex item
      <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的第二個flex項目的文字內(nèi)容會被強制換行,”收縮”以允許更多空間用于上一個帶有.w-100的flex項目。

      Flex item
      Flex item
      <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
      • .flex-xxl-{grow|shrink}-0
      • .flex-xxl-{grow|shrink}-1

      自動邊距

      當你混用Flex對齊與auto margin時候,F(xiàn)lexbox可以執(zhí)行一些令人驚艷的功能。下面的示例是透過自動margin來控制flex項目的三個案例:預設(無自動margin),向右推兩個項目(.me-auto),并向左推兩個項目(.ms-auto)。

      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <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="me-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="ms-auto p-2 bd-highlight">Flex item</div>
      </div>

      搭配 align-items

      混合以下屬性align-items、flex-direction: column,和margin-top: auto或margin-bottom: auto,會將一個flex項目移動到容器的頂部或底部。

      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <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項目在Flex容器中換行的方式。可以選擇使用.flex-nowrap完全不換行(瀏覽器預設),使用.flex-wrap進行換行,或使用.flex-wrap-reverse進行反向換行。

      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <div class="d-flex flex-nowrap">
      ...
      </div>
      
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <div class="d-flex flex-wrap">
      ...
      </div>
      
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <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
      • .flex-xxl-nowrap
      • .flex-xxl-wrap
      • .flex-xxl-wrap-reverse

      排序

      使用order通用類別改變特定flex項目顯示的排序。Bootstrap僅提供選項將一個物件排在第一個或最后一個,以及重置以使用DOM排序。由于order只能使用從0到5的整數(shù)值,任何額外值則需要自定義的CSS。

      First flex item
      Second flex item
      Third flex item
      <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-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

      此外還有響應式的.order-first和.order-last類別,它們分別透過order: -1和order: 6,來更改元素的order順序。

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

      對齊內(nèi)容

      使用flexbox容器上的align-content通用類別將flex項目一起對齊于橫軸上。從start(瀏覽器預設)、end、center、between、around,或stretch中選擇。以下為了呈現(xiàn)這通用類別的效果,我們強制執(zhí)行flex-wrap: wrap并增加了Flex項目的數(shù)量。

      注意! 此特性對于單行的Flex項目沒有作用。

      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <div class="d-flex align-content-start flex-wrap">
      ...
      </div>
      
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <div class="d-flex align-content-end flex-wrap">...</div>
      
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <div class="d-flex align-content-center flex-wrap">...</div>
      
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <div class="d-flex align-content-between flex-wrap">...</div>
      
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <div class="d-flex align-content-around flex-wrap">...</div>
      
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      Flex item
      <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
      • .align-content-xxl-start
      • .align-content-xxl-end
      • .align-content-xxl-center
      • .align-content-xxl-around
      • .align-content-xxl-stretch

      媒體對象

      要從Bootstrap5復制媒體對象組件嗎?用一些flex實用程序很快就可以重新創(chuàng)建它,這些實用程序比以前更加靈活和定制。

      Placeholder Image
      This is some content from a media component. You can replace this with any content and adjust it as needed.
      <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>

      And say you want to vertically center the content next to the image:

      Placeholder Image
      This is some content from a media component. You can replace this with any content and adjust it as needed.
      <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

      Utilities API

      Flexbox utilities are declared in our utilities API in scss/_utilities.scss.

          "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
      ),
      "gap": (
      responsive: true,
      property: gap,
      class: gap,
      values: $spacers
      ),
      "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,
      ),
      ),
      
      返回頂部
      主站蜘蛛池模板: 国产精品熟女一区二区| 久久国产高清一区二区三区| 日韩精品一区二区三区中文版| 日本丰满少妇一区二区三区| 日本午夜精品一区二区三区电影| 国产精品亚洲专一区二区三区| 亚洲一区免费在线观看| 中文字幕无码一区二区免费 | 亚洲AV乱码一区二区三区林ゆな| 国产精品久久无码一区二区三区网 | 亚洲无线码一区二区三区| 国产福利一区二区精品秒拍| 一本大道在线无码一区| 日韩AV无码久久一区二区| 另类一区二区三区| 亚洲av无码不卡一区二区三区| 日本视频一区二区三区| 精品福利一区3d动漫| 日韩aⅴ人妻无码一区二区| 午夜视频在线观看一区| 精品国产一区二区三区AV| 久久久国产精品无码一区二区三区 | 中文字幕无线码一区二区| 亚洲国产一区二区a毛片| 国产一区二区三区高清在线观看| 国产婷婷一区二区三区| 国产精品一区二区三区99 | 麻豆亚洲av熟女国产一区二| 日韩人妻不卡一区二区三区 | 亚洲av日韩综合一区久热| 国产日产久久高清欧美一区| 亚洲字幕AV一区二区三区四区 | 91一区二区三区| 国产无码一区二区在线| 国产情侣一区二区三区| 精品国产不卡一区二区三区| 2014AV天堂无码一区| 精品深夜AV无码一区二区| 国产精品乱码一区二区三| 日本一区二区在线免费观看| 精品久久久久久中文字幕一区|