【问题标题】:How Do I layout this CSS grids template如何布局此 CSS 网格模板
【发布时间】:2021-08-09 22:59:35
【问题描述】:

我想使用 CSS 网格以如下方式显示此页面:

我知道这里只有 3 个 div,但我想要一个开始。你如何让 div 2 和 div 3 位于第二行和第 2 列和第 3 列。我需要总共 4 列还是 3 列?

到目前为止我得到了什么:

.grid{
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 50px;
    box-sizing: border-box;
 
}
 .feature-one{
        grid-template-columns: 1/2;
    
  }
  .feature-two{
    grid-column: 3/6;
    grid-row: 2;
}
.feature-three{
    grid-column: 3/6;
    grid-row: 2;
}

这是我所拥有的结果:

【问题讨论】:

  • 您能否提供您的 HTML 代码,让我们有一个工作示例开始?

标签: javascript css reactjs flexbox css-grid


【解决方案1】:

这是你要找的吗?

    .grid-container {
      display: grid;
      grid-template-columns: repeat(3, 30vw);
      grid-template-rows: 100px 100px;
      grid-gap: 13px;
      padding: 2px;
    }

    .grid-container>div {
      background-color: aqua;
      text-align: center;
      font-size: 15px;
    }

    .the-feed {
      grid-area: 1 / 1 / 3 / 1;
    }
  <div class="grid-container">
    <div class="the-feed">The Feed</div>
    <div class="">Contact Lifecycle</div>
    <div class="">Custom Fields</div>
    <div class="">Custom Sales Activities</div>
    <div class="">Multi-Currency</div>
  </div>

您的布局是跨越整个屏幕宽度的 3 列。您可以像这样定义列:

  grid-template-columns: repeat(3, 30vw);
  

另外还有两排等高。您可以像这样定义行:

grid-template-rows: 100px 100px;

(如果您希望第二行高于第一行,您可以将上面的代码修改为:grid-template-rows: 100px 150px;)

然后,要使最大的 div 跨越两行,你有这行:

.the-feed {
  grid-area: 1 / 1 / 3 / 1;
}

上面的语法一开始可能很难解析。这意味着在 gridline-row 1 和 gridline-column 1(例如 1/1)处开始 div。并在 gridline-row 3 和 gridline-column 1 结束 div(例如 3/1)。

请注意,网格线是列和行之间的线。它们不是实际的列和/或行。至此,井字游戏 CSS 网格有 3 行和 3 列。但它有 4 行网格线和 4 列网格线。见Why are CSS Grid-Area ending coordinates offset?

【讨论】:

  • 比你好多了!一个问题。我怎样才能使它可扩展?当我将 div 和 h2 添加到其中时,它们会从 div 中出来。
  • 我还没来得及尝试。但是试试这个: grid-template-rows: 30vh 30vh;或者这个:grid-template-rows: auto auto;前者将为您提供占视口高度 30% 的行。后者(我相信)将增长以适应 div 中的任何内容。警告购买者!
  • 是的。看起来你想使用:grid-template-rows: auto auto;
  • 欣赏它兄弟!你是个明星。祝你有美好的一天!
  • 要使其具有移动响应能力,只需更改网格的顺序对吗?
猜你喜欢
  • 2019-03-24
  • 2020-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
相关资源
最近更新 更多