display: flex;
display: inline-flex;
 
        flex-direction: row | row-reverse | column | column-reverse;
 
         
        justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
 
         
         
         
         
         
        align-items: stretch | center | flex-start | flex-end;
 
         
         
         
         
         
        flex-wrap: nowrap | wrap | wrap-reverse;
flex-basis: auto | number;
flex-grow: number;
flex-shrink: number;
  .box {
    display: flex;
    width: 500px;
    gap: 100px;
  }
  
  .box div:nth-child(1) {
    width: 50px;
    height: 50px;
    flex-grow: 1;
    background-color: #f40;
  }
  
  .box div:nth-child(2) {
    width: 50px;
    height: 50px;
    flex-grow: 2;
    background-color: #f40;
  }
      200+200=400=300+100->200-50,200-50
400+200=600=300+300->400-200,200-100
flex: flex-grow flex-shrink flex-basis;
| Item | Desc | 
|---|---|
| flex: none; | 0 0 auto;默认 | 
| flex: auto; | 1 1 auto;自动分配;如果有,则放大;否则压缩;根据内容大小来分 | 
| flex: num; | 无单位数值,0 num 0% | 
| flex: num; | 带单位数值,指的是flex-basis;其它为默认值,相当于1 0 num;不建议使用 | 
| flex: 1 1 num; | 可以放大或压缩,初始大小为num 可以简写为flex: num; | 
| flex: 1 0 num | 有剩余则放大,但是不能压缩,至少mum | 
 
        
  .wrap div:nth-child(even) {
    align-self: center;
  }
     
      
.col2 {
    display: flex;
}
.col2 .left {
    flex-basis: 80px;
}
.col2 .right {
    flex: 1;
}
      
col2 {
  display: grid;
  grid-template-columns: 80px 1fr;
}
    . 左右固定;中间自适应
 
      . 不考虑优先渲染
<div class="col3"> <div class="left"></div> <div class="main"></div> <div class="right"></div> </div>
.col3 {
    display: flex;
}
.col3 .left,
.col3 .right {
    flex-basis: 80px;
}
.col3 .main {
    flex: 1;
}
      . 考虑优先渲染
<div class="col3"> <div class="main"></div> <div class="left"></div> <div class="right"></div> </div>
// ... ...
col3 {
  display: grid;
  grid-template-columns: 80px 1fr 80px;
}
    . 上下高度固定;中间自适应
. 为了容纳更多内容,中间指定 overflow-y: auto
. 多见于移动端
 
      
.stack {
    display: flex;
    flex-direction: column;
    height: 100vh;
}
.stack .top,
.stack .bottom {
    height: 80px;
}
.stack .middle {
    flex: 1;
    overflow-y: auto;
}
      
.stack {
  display: grid;
  grid-template-rows: 80px 1fr 80px;
  min-height: 100vh;
}
    
.wrap {
    display: flex;
}
.wrap .item {
    flex: 1;
}
      
.wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
      或
.wrap {
  display: grid;
  grid-template-columns: 1fr 2fr 3fr 1fr;
}
    
.wrap {
    display: flex;//df
    justify-content: center;//jcc
    align-items: center;//aic
    height: 100vh;//h100vh
}      
     
      
.sudoku {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 800px;
}
.sudoku .item {
  width: 30%;
  aspect-ratio: 16/9;
  flex: auto;
}
    
.bread {
    display: flex;
    flex-wrap: wrap;
}
      . 子项显式指定 flex: auto;同九宫格一样,让其自动占用剩余空间
. 子项指定最大宽度 max-width,避免最后一项铺满[是否需要铺满,看设计需求]
. 可以使用水平分布吗?
.bread.adv li {
    flex: auto;
    max-width: 115px;
    //
}
    
.cor-wrap div {
  flex: 1;
}
.cor-wrap div:hover {
  flex-basis: 200px;
}