flex中的flex-basis

flex-basis表示在flex items 被放入flex容器之前的大小,也就是items的理想或者假設大小,但是并不是其真實大小,其真實大小取決于flex容器的寬度,flex items的min-width,max-width等其他樣式,具體分析看下文

1. width和flex-basis同時存在時
    .flex-wrap{
      display: flex;
      width: 600px;
      height: 100px;
      border: 1px solid #ddd;
    }
    .flex-item{
      width: 200px;
      flex-basis: 100px;
    }
    .item1{
      background: #66efab;
    }
    .item2{
      background: #efe24e;
    }
    .item3{
      background: #ef6754;
    }
    .item4{
      background: #ef9fef;
    }
    .item5{
      background: #191def;
    }
<div class="flex-wrap">
    <div class="flex-item item1">item1</div>
    <div class="flex-item item2">item2</div>
    <div class="flex-item item3">item3</div>
    <div class="flex-item item4">item4</div>
    <div class="flex-item item5">item4</div>
  </div>

展示結果

image1.png

分析:
當flex-basis和width屬性同時存在時,width屬性不生效,flex item的寬度為flex-basis設置的寬度

2. 只存在width情況,且flex items寬度和大于flex容器寬度
    // 僅展示修改部分
    .flex-item{
      /*flex-basis: 100px;*/
      width: 200px;
    }
    .item1{
      background: #66efab;
      width: 100px;
    }

展示結果

image2.png

所有flex item等比例被壓縮到充滿flex容器
結果分析:
當flex空間不夠時,由于flex-shrink的默認值為1,所以所有flex items容器等比例被壓縮

3. 當存在flex-basis,所有的flex item是寬度之和大于flex容器寬度
    // 僅展示修改的代碼
    .flex-item{
      flex-basis: 300px;
      width: 200px;
    }
    .item1{
      background: #66efab;
    }

展示結果

image3.png

結果分析:
這種情況同2類似,都是在flex-shrink的作用下等比例縮小

4. max-width對flex items寬度的影響
    //僅展示修改部分
    .flex-item{
      flex-basis: 300px;
      max-width: 100px;
    }
    .item1{
      background: #66efab;
    }

展示結果

image4.png

結果分析:
max-width決定了flex items的最大寬度

5. min-width對flex items寬度的影響
    // 僅展示修改內容
    .flex-item{
      flex-basis: 80px;
      min-width: 100px;
    }
    .item1{
      background: #66efab;
    }

image5.png

結果分析:
min-width決定了flex items的最小寬度

6. flex items的應用準則

content -> width -> flex-basis (limted by max|min-width)

注:當flex items的寬度和大于flex容器的寬度是,flex items的寬度還是會縮小

7. 關于其他屬性對flex items的影響

這部分內容暫時不打算整理

本文目的僅僅是為了個人查找閱讀等提供方便

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,711評論 0 6
  • H5移動端知識點總結 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,816評論 0 26
  • 最近在學習Flex Box,其中的Flex Box屬性中的Flex Basis是關于項目寬度屬性設置的,這讓許多初...
    吃素的外星人閱讀 23,432評論 8 52
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,101評論 0 2
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,421評論 0 11

友情鏈接更多精彩內容