首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >css-grid:具有不同行数的列

css-grid:具有不同行数的列
EN

Stack Overflow用户
提问于 2020-07-03 03:55:16
回答 2查看 53关注 0票数 0

我有以下布局:

代码语言:javascript
复制
.container {
  width: 630px;
  height: 630px;
  display: grid;
  column-gap: 10px;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: auto auto auto;
}

.first, .second, .third, .fourth, .fifth, .sixth, .seventh {
  width: 200px;
  height: 200px;
  background-color: pink;
}

.first, .second {
  height: 400px;
}

.fourth {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
    background-color: yellow;
}

.seventh {
    grid-column: 3 / 4;
    grid-row: 3 / 4;
}
代码语言:javascript
复制
<div class='container'>
  <div class='first'>1</div>
  <div class='second'>2</div>
  <div class='third'>3</div>
  <div class='fourth'>4</div>
  <div class='fifth'>5</div>
  <div class='sixth'>6</div>
  <div class='seventh'>7</div>
</div>

我希望第一列和第二列有2行,采取3fr 1fr和最后一列有3行采取2fr 1fr 1fr。最终结果将是4号框嵌套在3号和7号之间,而不会脱离前两列中的框创建的矩形。

此最终定位应如下所示:

这是可能的使用css网格,我怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-03 04:30:48

您可以尝试如下所示:

代码语言:javascript
复制
.container {
  width: 700px;
  height: 700px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  grid-gap: 20px;
}

.first,
.second,
.third,
.fourth,
.fifth,
.sixth,
.seventh {
  width: 100%;
  height: 100%;
  background-color: pink;
}

.first,
.second {
  grid-row: 1 / 3;
}

.second,
.sixth {
}

.fourth {
  background-color: yellow;
}
代码语言:javascript
复制
<div class='container'>
  <div class='first'>1</div>
  <div class='second'>2</div>
  <div class='third'>3</div>
  <div class='fourth'>4</div>
  <div class='fifth'>5</div>
  <div class='sixth'>6</div>
  <div class='seventh'>7</div>
</div>

票数 1
EN

Stack Overflow用户

发布于 2020-07-03 04:07:07

这是你想要的吗。

您可以阅读有关grid-row here的更多信息

运行snippet以查看其在下面的工作情况

代码语言:javascript
复制
.container {
  width: 700px;
  height: 700px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  grid-gap: 20px;
}

.first,
.second,
.third,
.fifth,
.sixth,
.seventh {
  background-color: pink;
}

.first,
.second {
  grid-row: 1 / 3;
}

.fourth {
  background-color: yellow;
}
代码语言:javascript
复制
<div class='container'>
  <div class='first'>1</div>
  <div class='second'>2</div>
  <div class='third'>3</div>
  <div class='fourth'>4</div>
  <div class='fifth'>5</div>
  <div class='sixth'>6</div>
  <div class='seventh'>7</div>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62704104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档