彈性盒子(Flex)

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

      啟用flex

      使用display通用類別來創建一個flexbox容器,并將直屬的子元素轉換為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容器與內層flex的方向,在大多的情況下你可以忽略水平的class,因為瀏覽器預設值是row。不過有些特定情境下需要特別設定這個值(像是響應式情境)。

      使用.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 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作垂直方向的反轉。

      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

      調整內容

      使用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來強制設定它們的寬度與內容相等(如果它們的內容不超過邊框,則各個寬度相等),同時占用所有可用的水平空間。

      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項目的文字內容會被強制換行,”收縮”以允許更多空間用于上一個帶有.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時候,Flexbox可以執行一些令人驚艷的功能。下面的示例是透過自動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的整數值,任何額外值則需要自定義的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

      對齊內容

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

      注意! 此特性對于單行的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實用程序很快就可以重新創建它,這些實用程序比以前更加靈活和定制。

      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一区二区三区传媒| 久夜色精品国产一区二区三区| 亚洲高清一区二区三区电影| 一区二区三区四区视频| 在线精品亚洲一区二区小说| 亚洲国产一区二区三区| 日本免费一区二区三区最新vr| 国产在线精品一区二区在线观看| 日韩精品一区二区三区中文版 | 国产一区二区四区在线观看| 日韩AV在线不卡一区二区三区 | 麻豆精品一区二区综合av| 在线一区二区三区| 加勒比无码一区二区三区| 亚洲男女一区二区三区| 国产福利微拍精品一区二区| 中文字幕日韩丝袜一区| 精品国产乱码一区二区三区| 精品午夜福利无人区乱码一区| 国产精品自拍一区| 久久久国产精品无码一区二区三区| 色窝窝无码一区二区三区成人网站| 国99精品无码一区二区三区 | 亚洲国产综合精品中文第一区| 精品免费久久久久国产一区| 国产成人精品一区二三区在线观看| 久久精品国产一区二区电影| 日本一区二区在线| 亚洲高清一区二区三区 | 亚洲高清日韩精品第一区| 亚洲视频一区在线| 国产成人精品视频一区| 久久免费视频一区| 精品永久久福利一区二区| 色一情一乱一伦一区二区三欧美|