代码之家  ›  专栏  ›  技术社区  ›  Hassan Sadeghi

如何强制flexbox最后一行的项目拾取所有剩余高度(在flexrow模式下)?

  •  0
  • Hassan Sadeghi  · 技术社区  · 6 年前

    假设我们有这个代码( 请测试一下 ):

    .x{
        display: flex;
        flex-wrap: wrap;
        align-content: start;
        background-color: #0bd;
        width: 420px;
        height: 220px;
        overflow: auto;
     }
     .x>*{
        width: 25%;
        height: 45px;
        border: solid 1px #fff;
        box-sizing: border-box;
     }
     .N, .L {
         width: 50%;
     }
    <div class='x'>
        <div>A</div>
        <div>B</div>
        <div>C</div>
        <div>D</div>
        <div class='N'>N</div>
        <div class='L'>L</div>
    </div>

    我需要这样的东西:

    .x{
      display: flex;
      flex-wrap: wrap;
      align-content: start;
      background-color: #0bd;
      width: 420px;
      height: 220px;
      overflow: auto;
    }
    .x>*{
      width: 25%;
      height: 45px;
      border: solid 1px #fff;
      box-sizing: border-box;
    }
    .N, .L {
         width: 50%;
    }
    .N {
      height: 175px;
      background-color: #f0f;
    }
    <div class='x'>
      <div>A</div>
      <div>B</div>
      <div>C</div>
      <div>D</div>
      <div class='N'>N</div>
      <div class='L'>L</div>
    </div>

    要点:

    1. 我们必须使用 flex-flow: row
    2. 这个 .N (N类)必须垂直填充所有剩余空间(剩余高度)。
    3. 我们不应该使用嵌套元素( css
    4. 我们唯一的选择是 flex-box .
    5. 我们不能用常量 height calc(100% - xxx) ,因为我们没有 xxx .
    6. N.公司

    0 回复  |  直到 6 年前