代码之家  ›  专栏  ›  技术社区  ›  mpen

如何使项目拉伸到填充宽度?

  •  9
  • mpen  · 技术社区  · 7 年前

    .container {
      display: grid;
      grid-template-columns: repeat(auto-fill, 100px);
      grid-gap: 3px;
      border: 1px solid green;
    }
    
    .item {
      border: 1px solid red;
      height: 50px;
    }
    <div class="container">
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
    </div>

    我怎样才能拉伸红色 item 框一点点,这样它们就能填满整个果岭 container

    它们都应该是相同的宽度,并且略大于100px。

    最后一行应该像现在一样左对齐。

    1 回复  |  直到 7 年前
        1
  •  9
  •   Michael Benjamin    7 年前

    您只需添加 分数单位 grid-template-columns 规则

    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    

    此规则将创建尽可能多的列以容纳容器。

    每列的最小宽度为100px。

    最大宽度为 1fr ,这意味着该列将占用行上的所有可用空间。

    现在,正在使用容器中的所有水平空间。

    .container {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
      grid-auto-rows: 50px;
      grid-gap: 3px;
      border: 1px solid green;
    }
    
    .item {
      border: 1px solid red;
    }
    <div class="container">
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
    </div>

    这些帖子更详细地解释了上述解决方案: